2014-07-17 1 views
0

더 많은 .jsp 파일이 있고 모든 .jsp 파일에 대한 정보가 들어있는 page.tag가 있습니다. 따라서 doctype을 갖고 싶지 않습니다. 스타일 및 스크립트를 모든 .jsp에 넣을 수 있습니다.하지만 한 태그 만 바꾸면됩니다. 왜냐하면 내가 변경하고자하는 것은 모든 .jsp 파일에서 변경해야하기 때문입니다.모든 jsp 페이지의 기본 태그 (doctype, styles ... 등)

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<%@taglib prefix="t" tagdir="/WEB-INF/tags" %> 

<t:page title="index"> 
    <div id="content"> 
     huge content of the index page.. 
    </div> 
</t:page> 

내 page.tag :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd"> 

<%@attribute required="true" name="title" type="java.lang.String" %> 

<html> 
<head> 
    <title>${title}</title> 
    <styles and other info required for every .jsp> 
</head> 
<body> 
    <!-- HERE I WANT TO SHOW THE <DIV> FROM INDEX.JSP --> 
</body> 
</html> 

내가 태그에 매개 변수로 제목 만 전달하고있어 그래서 내가 page.tag 보여줍니다 index.jsp에 있다고 가정합니다. 어떻게 든 태그 안에있는 현재 jsp의 내용을 전달할 수 있습니까? 따라서 내용이 거대 할 수 있기 때문에 jsp의 내용을 매개 변수로 (제목으로) 전달하는 것은 불가능하다고 생각합니다. 그렇게하는 방법?

답변

0
당신은 JSP와 함께 할 수

은 다음과 같습니다

<jsp:include page="header.jsp?title=the+title" /> 

그러나 EL이 작업을 수행하도록 header.jsp를에

, 당신은 당신이 아니라 요청 속성보다 요청 매개 변수를 읽고있을거야 알고 있어야합니다, 설정이 직접 $ 같은 {의 param [ "제목"]} 작동하지 않기 때문에 : 당신은 C를 사용해야

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd"> 
<c:set var="title_param_name" value="title" /> 
<html> 
<head> 
    <title>${param[title_param_name]}</title> 
    <styles and other info required for every .jsp> 
</head> 
<body> 

: 같은 그것은해야 할 것이다. 는 footer.jsp에서 나머지 그런

<jsp:include page="footer.jsp" /> 

. 또는이 경우 실제로 HTML 만 사용하는 경우 <jsp:include page="footer.html" />을 사용할 수 있습니다.

</body> 
</html>