我有一个基本的 UI (index.html),它分为页眉、页脚和内容。内容页面要么在与 index.html 相同的(local.xhtml)服务器上,要么在另一个(remote.xhtml)服务器上。包含页面并使用 ajax 动态重新加载它们效果很好。但参数传递仅适用于本地内容页面。该参数是从名为 Login 的 Bean 中检索的,该 Bean 也与 index.html 位于同一服务器上。
index.xhtml(摘录):
<h:panelGroup id="content" layout="block">
<ui:include src="#{contentLoader.page}" >
<ui:param name="userName" value="#{login.userName}" />
</ui:include>
</h:panelGroup>
<h:form>
<f:ajax render=":content">
<ul>
<li><h:commandLink value="include1"
action="#{contentLoader.LocalPage}" /></li>
<li><h:commandLink value="include2"
action="#{contentLoader.remotePage}" /></li>
</ul>
</f:ajax>
</h:form>
本地.xhtml
<h:body>
<ui:composition>
<h:form id="form">
<h:outputText value= "Local Page. Parameter is: #{userName}"/>
</h:form>
</ui:composition>
</h:body>
远程.xhtml
<h:body>
<ui:composition>
<h:form id="form">
<h:outputText value= "Remote Page. Parameter is: #{userName}"/>
</h:form>
</ui:composition>
</h:body>
local.xhtml 打印出来: “本地页面。参数为:MyUser”
仅限 remote.xhtml:“远程页面。参数为:”
我使用 Glassfish4 作为 WebServer 和 JSF2