通过支持bean传递视图参数

时间:2012-03-20 15:59:45

标签: jsf-2

我在页面page1.xhtml中有一个inputtext,我希望使用get方法将用户输入的值传递给第二页page2.xhmtl作为视图参数。我使用一个h:按钮并将其作为结果值从支持bean中输入,但是当我导航到第二页时,我没有传递参数。怎么了?在按下按钮之前,值是否未传递给辅助bean,因此无法读取值?还有其他办法吗?

page1.xhtml

h:inputText id="q" value="#{QBean.q}"></h:inputText>
<h:button value="Done" outcome="page2?q=#{indexBean.q}">

page2.xhtml

<f:metadata>
       <f:viewParam name="q" value="#{QBean.q}"/>
</f:metadata>

QBean

private String q;

//setter
//getter

2 个答案:

答案 0 :(得分:2)

您唯一的功能要求似乎是您需要GET表单而不是POST表单。在这种情况下,请使用普通的HTML元素,而不是JSF组件。

<form action="page2.xhtml">
    <input name="q" />
    <input type="submit" value="Done" />
</form>

答案 1 :(得分:0)

您可以使用POST-REDIRECT-GET approach并改为使用commandButton:<h:commandButton value="Done" action="page2?faces-redirect=true&amp;includeViewParams=true"/>