ui:include 包含远程页面时参数传递不起作用
ui:include parameter passing does not work when remote page is included
我有一个基本的 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 打印出:"Local Page. Parameter is: MyUser"
仅 remote.xhtml:"Remote Page. Parameter is: "
我正在使用 Glassfish4 作为 WebServer 和 JSF2
谢谢。评论中的提示解决了我的问题。现在这对我来说很好:
<iframe>
正在解决我的问题。在 URL 和 JSF 中传递的参数非常出色。
只是 "including" 使用 <iframe src="#{myBean.Url}"></iframe>
的远程页面并使用 JSF 函数 "#{param['param1']}"
读取参数
{myBean.Url} return 这种格式的字符串:localhost:8680/MyServiceservice/faces/myPage.html?param1=value1 其中 value1 是参数 I想转让
我有一个基本的 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 打印出:"Local Page. Parameter is: MyUser"
仅remote.xhtml:"Remote Page. Parameter is: "
我正在使用 Glassfish4 作为 WebServer 和 JSF2
谢谢。评论中的提示解决了我的问题。现在这对我来说很好:
<iframe>
正在解决我的问题。在 URL 和 JSF 中传递的参数非常出色。
只是 "including" 使用 <iframe src="#{myBean.Url}"></iframe>
的远程页面并使用 JSF 函数 "#{param['param1']}"
{myBean.Url} return 这种格式的字符串:localhost:8680/MyServiceservice/faces/myPage.html?param1=value1 其中 value1 是参数 I想转让