我有一个Web应用程序,我会动态地通过页面上的表单加载外部JSF文件。
是否可以将JSF页面加载为字符串(WAR外部的文件)并将其传递给Face Servlet进行解释?
答案 0 :(得分:1)
我不知道你的意思与#34;动态加载外部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和here讨论了如何通过here加载外部Facelets。