我有一个 Web 应用程序,我会通过页面上的表单动态加载外部 JSF 文件,例如 Maple。
是否可以将 JSF 页面作为字符串(WAR 外部的文件)加载并将其传递给 Face Servlet 进行解释?
最佳答案
我不知道“动态加载外部 JSF 文件”到底是什么意思。 如果您想通过 ajax 使用存储在单独文件中的片段替换 View 的一部分,您可以这样做:
<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正在讨论here和 here .
关于java - 加载外部 JSF 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17379625/