带方法的JSF Concat字符串

时间:2013-01-02 14:00:42

标签: jsf-2 el

如何在方法表达式的结果上连接字符串? 以下不起作用。

<h:commandButton action="/product.xhtml?product=#{productBean.product} ">  </h:commandButton>

1 个答案:

答案 0 :(得分:1)

这确实不是一个有效的方法表达式。如果您打算调用某些业务操作,则需要在返回值中包含/product.xhtml?product=

<h:commandButton value="View" action="#{productBean.view}" />

使用

public String view() {
    // ...

    return "/product.xhtml?faces-redirect=true&product=" + product;
}

faces-redirect=true将使其成为重定向,这很可能是您在此处尝试完成的内容)

或者,如果您根本不需要调用业务操作,请改用<h:button>

<h:button value="View" outcome="/product.xhtml?product=#{productBean.product}" />

或者,如果它是非数字字符串,因此需要进行URLEncoded,将其嵌套为<f:param>

<h:button value="View" outcome="/product.xhtml">
    <f:param name="product" value="#{productBean.product}" />
</h:button>

另见: