这是一个非常简单的问题:faces-config.xml文件可以有多个标签(更像是他们应该拥有的)吗?我在JSF项目中工作,faces-config.xml文件有这样的东西:
<application>
<el-resolver>org.jboss.seam.el.SeamELResolver</el-resolver>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
<message-bundle>customMessages</message-bundle>
</application>
<application>
<view-handler>org.rivetlogic.crafter.core.jsf.CrafterFacesViewHandlerImpl</view-handler>
<el-resolver>org.jboss.seam.ioc.spring.SpringELResolver</el-resolver>
</application>
但我从未见过另一个带有多个<application>
标签的JSF应用程序,也许这可能是我遇到问题的原因之一(我认为涉及到多个视图处理程序)。
答案 0 :(得分:1)
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="application"
type="javaee:faces-config-applicationType"/>
多个application
元素应该没问题,但对view-handler
元素中的application
元素数量没有任何限制。
ViewHandler
对于JSF的工作原理非常重要。 ViewHandler
可能不兼容(检查他们的文档)或者他们可能对加载顺序敏感(我不认为它是在faces-config.xml
中指定的)。在后一种情况下,您可以将它们放在单独的文档中,并使用javax.faces.CONFIG_FILES
init参数指定处理顺序(see spec)。