我有一个基本的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>
local.xhtml
<h:body>
<ui:composition>
<h:form id="form">
<h:outputText value= "Local Page. Parameter is: #{userName}"/>
</h:form>
</ui:composition>
</h:body>
remote.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
答案 0 :(得分:0)
谢谢。评论中的提示解决了我的问题。现在这对我来说很好:
<iframe>
解决了我的问题。在URL和JSF中传递参数非常棒。
Just&#34;包括&#34;带有<iframe src="#{myBean.Url}"></iframe>
的远程页面,并使用JSF函数"#{param['param1']}"
{myBean.Url}以这种格式返回一个字符串:localhost:8680 / MyServiceservice / faces / myPage.html?param1 = value1,其中value1是我要传输的参数。