JSF在url中将参数传递给会话bean
我是一个JSF初学者,我有一个简单的JSF问题,但我无法解决这里的逻辑。 我通过命令按钮打开新的JSF在url中将参数传递给会话bean,jsf,primefaces,Jsf,Primefaces,我是一个JSF初学者,我有一个简单的JSF问题,但我无法解决这里的逻辑。 我通过命令按钮打开新的mv.xhtml页面,如下所示: <p:commandButton value="#{grBean.protocolName(item)}" onclick="window.open('/SearchMap/faces/mv.xhtml?url=#{item}')"> </p:commandButton> 问题就在这里,因为mvBean是会话作用域,init方法只调用一次,所
mv.xhtml
页面,如下所示:
<p:commandButton value="#{grBean.protocolName(item)}"
onclick="window.open('/SearchMap/faces/mv.xhtml?url=#{item}')">
</p:commandButton>
问题就在这里,因为mvBean
是会话作用域,init方法只调用一次,所以我无法自然地获得新的url参数
我想使用mvBean
作为会话范围,因为我想将所有传递的URL保存在一个ArrayList中
那么,当我使用会话bean时,如何获取url参数呢?或者你有什么建议或解决办法吗
谢谢您的帮助。您不必在
init()
中执行此操作,这里有一个快速解决方案。把这个放到你的mv.xtml
页面上
并将您的逻辑从
init()
移动到public void checkUrl()
非常感谢您的回答。我在寻找不同的解决方案。如果没有答复,我将接受你的答复。再次感谢你,普雷德拉格。
Map <String, String>tempMap= FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
if(tempMap.get("url") !=null)
url=tempMap.get("url");
<p:remoteCommand name="onload" action="#{mvBean.checkUrl()}" autoRun="true" />