在<p:commandlink> </p:commandlink>中传递参数

时间:2013-06-25 08:21:05

标签: jsf primefaces

您好我有一个代码:

<p:commandLink value="#{user.strUserid}" action="test.xhtml?faces-redirect=true"/>

如何将参数传递给test.xhtml以获取所述页面中的值? 我尝试使用<f:param>代码。但是可以在test.xhtml页面中获取该值。 请建议。

2 个答案:

答案 0 :(得分:8)

将其替换为<h:link>

<h:link value="#{user.strUserid}" outcome="test.xhtml">
    <f:param name="foo" value="bar" />
</h:link>

并使用<f:viewParam>将其设置为与目标页面相关联的bean的属性

<f:metadata>
    <f:viewParam name="foo" value="#{bean.foo}" />
</f:metadata>

另见:

答案 1 :(得分:5)

然后我认为你需要尝试<f:setPropertyActionListener ..

<h:commandButton action="#{testBean.takeParam}" >
    <f:setPropertyActionListener target="#{testBean.myStringVal}" value="something" />
</h:commandButton>

然后你可以在你的bean类中获得这个值

    @SessionScoped
    public class TestBean{

        public String myStringVal;

        public void setMyStringVal(String myStringVal) {
            this.myStringVal = myStringVal;
        }

    }

    public void takeParam{
         System.out.println("String Value: "+myStringVal);
    }

另见Communication in JSF by BalusC

相关问题