我有一个带有jsf库的some.xhtml文件。在<h:body>
标签中,我试图显示2个单词:
对于第一个我使用纯文本:Hello
对于第二个我使用:<h:outputText value=" there"/>
我希望看到"Hello there",但是页面上只打印了Hello。因此,我假设在JBoss 4.2.1中没有解析facet。它在Apache 7中有效。我怎样才能修好它呢?web.xml
或faces-config.xml
文件可能需要添加一些东西?
Thanks in advance
注:我像这样打开页面: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>
JBoss 4.2附带了一个捆绑的JSF 1.2实现,默认情况下它总是优先于您在WAR中包含的任何JSF实现。在默认情况下,JSF 1.2不将Facelets识别为视图技术,也不支持任何JSF 2.0特定的标签,如<h:body>
。
要告诉JBoss你的WAR已经捆绑了一个JSF实现,这样JBoss就不会在你的web应用中使用捆绑的JSF 1.2,你需要在你的web.xml
中添加以下上下文参数:
<context-param>
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
<param-value>true</param-value>
</context-param>
打开带有的页面。JSF后缀或/faces/无论你在web。xml