2010-01-09 6 views
0

안녕하세요 2 FACES JSPS의 공통 컨텐츠를 꺼내서 하나의 JSP를 넣고 그 두 개의 탭을 FACESJSP에 포함시키고 싶습니다.이 두 탭은 샘플 코드 pls와 관련하여 differet 내용을 보여줄 것입니까?JSP 페이지 리팩토링

+2

제목 요약을 제공 할 수 있습니까? 사람들이 한 눈에보다 쉽게 ​​이해할 수 있다고 생각합니다 –

+0

가장 이해하기 쉬운 리팩토링 : JSP를 선택하십시오 : s, shift + delete, 다른 웹 프레임 워크를 얻으십시오. – Esko

답변

1

를 사용하고 싶습니다. JSP에서는 <jsp:include>을 사용할 수 있습니다. Facelets에서는 <ui:include> 또는 <ui:composition>을 사용할 수 있습니다.

JSP에서 JSF를 사용할 때 모든 포함 페이지가 이고 고유 ID가 ID 인 고유 한 페이지가 있어야합니다.

기본 예 :

main.jsp :

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<f:view> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
     <head> 
      <title>Main page</title> 
     </head> 
     <body> 
      <jsp:include page="header.jsp" /> 
      <h2>Content</h2> 
      <jsp:include page="footer.jsp" /> 
     </body> 
    </html> 
</f:view> 

header.jsp

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 

<f:subview id="header"> 
    <h1>Header</h1> 
</f:subview> 

footer.jsp

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 

<f:subview id="footer"> 
    <h3>Footer</h3> 
</f:subview> 

당신을 C 심지어 동적으로 페이지를 포함합니다. #{bean.page}pagename.jsp 같은 페이지 상대 URL을 반환 할 수 있습니다

<jsp:include page="#{bean.page}" /> 

.

Facelets에서 JSF를 사용할 때 (그렇지 않습니다 만 비공식적 인 경우) Facelets의 예제는 developer guide에서 찾을 수 있습니다. JSP보다 훨씬 강력하고 JSF에 매우 적합합니다.

0

당신은 아마 그것은 문제의 뷰 기술에 따라 달라집니다 tiles