0

我有一个 Web 应用程序,我将通过页面上的表单动态加载外部 JSF 文件,例如。

是否可以将 JSF 页面加载为字符串(WAR 外部的文件)并将其传递给 Face Servlet 进行解释?

4

1 回答 1

1

我不知道您对“动态加载外部 JSF 文件”的确切含义。如果您想通过 ajax 用您存储在单独文件中的片段替换部分视图,您可以这样做:

<h:commandButton value="click me">
    <f:ajax render="panel" listener="#{bean.actionListener}" />
</h:commandButton>

<h:panelGroup id="panel">
    <h:panelGroup rendered="#{bean.condition}">
        <ui:include src="snippet.xhtml" />
    </h:panelGroup>
    <h:panelGroup rendered="#{bean.anotherCondition}">
        <ui:include src="snippet2.xhtml" />
    </h:panelGroup>
</h:panelGroup>

进行 ajax 调用并重新呈现 panelGroup。在此 panelGroup 中,您可以根据某些条件渲染文件。

更新:这里这里讨论了如何通过ResourceResolver加载外部 Facelets 。

于 2013-06-29T12:14:36.457 回答