2012-12-31 4 views
0

그래서 내가 가진 :하는 주형 JSF 2.0 Primefaces

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:p="http://primefaces.org/ui"> 

<h:body> 
    <ui:composition template="template.xhtml"> 
     <ui:define name="content"> 
      <h:outputText value="Test!!!" /> 
     </ui:define> 
    </ui:composition> 
</h:body> 
</html> 

내 메인 페이지로 내 웹 사이트 및 template.xhtml에 :

<div id="content"> 
    <h:panelGroup layout="block" styleClass="centercss"> 
    <ui:insert name="content" /> 
</h:panelGroup> 
</div> 

... 바닥 글 및 헤더의 중간에 조회수.

템플릿 = "template.xhtml"을 template.jsf로 변경하려고하면 어디에도 나타나지 않습니다 ... 지금 바로 내 '콘텐츠'페이지를 헤더 중간에 완벽하게 가져옵니다. 바닥 글은 일식 미리보기에서 볼 수 있지만 브라우저에는 내용이 전혀 없습니다.

Im은 primefaces3.1.1을 사용하고 javax.faces-2.1.14 + jsf-api와 jsf-impl을 가지고 있으므로 primefaces 3과 JSF 2를 생각해 보겠습니다. 여기서 어떤 문제가 발생합니까?

+0

당신의'web.xml' 설정은 무엇입니까? '* .jsf'가 서블릿을위한 매핑으로 등록 되었습니까? –

+1

정확히'template.xhtml'을'template.jsf'로 바꾸고 싶습니다. 존재하지 않는 파일입니까? 어떻게'template.xthml' 사용이 실패할까요? 해결책은 확실히 그 확장을 변경하지 않는 것입니다. – BalusC

+0

예, main.xhtml의 일식 미리보기에서 * .jsf 및 BalusC를 매핑합니다. 바닥 글과 머리글 사이의 적절한 위치에 있지만 내용을 표시하지만 template.xhtml에는 표시되지 않습니다. UI 삽입 내용이 작동하지 않습니다. –

답변

1

나는 당신이 잘못된 방법으로 facelets (templating)을 사용하고 있다고 생각합니다. 메인 페이지에 html 및 body 태그가 없어야합니다. 템플릿을 사용할 페이지는 <ui:composition> 태그에 정의되어야하며 템플릿은 전체 페이지 (HTML, 본문, 머리 태그 등)를 정의해야합니다.

예 :

index.html을

<?xml version="1.0" encoding="UTF-8"?> 
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.org/ui" 
    template="template.xhtml"> 
    <ui:define name="content"> 
     <h:outputText value="Test!!!" /> 
    </ui:define> 
</ui:composition> 

template.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:ui="http://java.sun.com/jsf/facelets"> 
<h:body> 
    <div id="content"> 
     <h:panelGroup layout="block" style="background-color: red;"> 
      <ui:insert name="content" /> 
     </h:panelGroup> 
    </div> 
</h:body> 
</html>