嗨,我有一个类似的代码:
<p:commandLink value="#{user.strUserid}" action="test.xhtml?faces-redirect=true"/>
如何将参数传递给 test.xhtml 以获取所述页面中的值?我尝试使用<f:param>
标签。但是可以获取test.xhtml
页面中的值。请建议。
嗨,我有一个类似的代码:
<p:commandLink value="#{user.strUserid}" action="test.xhtml?faces-redirect=true"/>
如何将参数传递给 test.xhtml 以获取所述页面中的值?我尝试使用<f:param>
标签。但是可以获取test.xhtml
页面中的值。请建议。
将其替换为<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>
那我觉得你需要试试<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);
}