5

嗨,我有一个类似的代码:

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

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

4

2 回答 2

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>

也可以看看:

于 2013-06-25T11:46:04.603 回答
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);
    }

另请参阅BalusC 在 JSF 中的通信

于 2013-06-25T08:35:22.917 回答