faces-config.xml </application>中有多个<application>标签

时间:2009-11-27 15:52:54

标签: java jsf

这是一个非常简单的问题: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应用程序,也许这可能是我遇到问题的原因之一(我认为涉及到多个视图处理程序)。

1 个答案:

答案 0 :(得分:1)

来自the JSF 1.2 schema

    <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)。