2011-09-20 3 views
0

jsf 라이브러리가있는 some.xhtml 파일이 있습니다. 내가 사용하는 두 번째를 들어 안녕하세요JBoss v4.2.1을 사용하는 Facelets 구문 분석 문제

: 나는 일반 텍스트를 사용 처음 들어

: <h:body> 태그에서 나는이 개 단어를 표시하려고 <h:outputText value=" there"/>

I "가 안녕하세요"볼 것으로 예상, 페이지에는 Hello 만 인쇄됩니다. 따라서 Facelet은 JBoss 4.2.1에서 어떻게 든 파싱되지 않는다고 가정합니다. 아파치 7. 어떻게 해결할 수 있습니다. web.xml 또는 faces-config.xml 파일에 뭔가를 추가해야합니까? 사전

P.S.에서

감사합니다 나는이 같은 페이지를 엽니 다 http://localhost:8080/ProjectName/faces/some.xhtml

some.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:f="http://java.sun.com/jsf/core" 
    xmlns:ui="http://java.sun.com/jsf/facelets"> 

    <h:head> 
     <title>Title that rocks</title> 
    </h:head> 

    <h:body> 
     Hello 
     <h:outputText value=" there" /> 
    </h:body> 
</html> 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="WebApp_ID" version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
    <context-param> 
     <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
     <param-value>.xhtml</param-value> 
    </context-param> 
    <listener> 
     <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener> 
    <servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>/faces/*</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?> 

<faces-config 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" 
    version="1.2"> 

</faces-config> 
+1

이를 JSTL과 전혀 관련이 없다. 귀하의 질문과 태그를 편집했습니다. JSTL은 JSP 표준 태그 라이브러리이고, 그것들은'' 태그입니다. 또한 http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/를 참조하십시오. 실제로 "Facelets JSTL"이 아닌 "JSF 태그"또는 "Facelets 태그"를 의미했습니다. – BalusC

답변

0

JBoss 4.2는 기본적으로 WAR에 포함 된 JSF 구현보다 항상 우선시되는 JSF 1.2 구현이 번들로 제공됩니다. JSF 1.2는 기본적으로 Facelet을 뷰 기술로 인식하지 않으며 <h:body>과 같은 JSF 2.0 관련 태그를 지원하지 않습니다. 보스가 당신의 웹 애플리케이션을위한 자사의 번들 JSF 1.2를 사용하지 않도록

, 당신의 WAR 이미 JSF 구현을 번들 보스를 말하자면, 당신은 당신의 web.xml에 다음 컨텍스트 매개 변수를 추가해야합니다

<context-param> 
    <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name> 
    <param-value>true</param-value> 
</context-param> 
0

열기 .jsf 접미사 페이지가 나 /는/ 0에 직면당신은 web.xml에 정의한 적이 있습니다