首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSF将参数传递给url中的会话bean

JSF将参数传递给url中的会话bean
EN

Stack Overflow用户
提问于 2014-10-21 12:35:02
回答 1查看 1.4K关注 0票数 1

我是JSF初学者,我有一个简单的JSF问题,但我无法解决这里的逻辑。我通过命令按钮打开新的mv.xhtml页面如下:

代码语言:javascript
运行
复制
<p:commandButton value="#{grBean.protocolName(item)}"
onclick="window.open('/SearchMap/faces/mv.xhtml?url=#{item}')">
</p:commandButton>

我有mvBean,这是一个会话范围。我用一个函数得到url参数,函数在后置构造的init方法中调用。其方法是:

代码语言:javascript
运行
复制
Map <String, String>tempMap= FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();       
        if(tempMap.get("url") !=null)    
            url=tempMap.get("url");

问题在这里,因为mvBean是会话范围的,所以init方法只被调用一次,所以我不能自然地获得一个新的url参数。

我想使用mvBean作为sessionScoped,因为我希望将所有传递的urls保存在ArrayList中。

那么,当我使用会话bean时,如何获得url参数呢?或者你有什么建议或解决办法吗?

谢谢你帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-21 13:09:59

您不必在init()中这样做,下面是一个快速的解决方案。把这个放在你的mv.xtml页面上,在<h:form>的某个地方

代码语言:javascript
运行
复制
<p:remoteCommand name="onload" action="#{mvBean.checkUrl()}" autoRun="true" />

并将逻辑从init()移到public void checkUrl()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26486879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档