メソッド式の結果で文字列を連結するにはどうすればよいですか? 以下は機能しません。
<h:commandButton action="/product.xhtml?product=#{productBean.product} "> </h:commandButton>
それは確かに有効なメソッド式ではありません。ビジネス アクションを呼び出す場合は/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}" />
または、URL エンコードする必要がある数値以外の文字列の場合は、次のようにネストします。<f:param>
<h:button value="View" outcome="/product.xhtml">
<f:param name="product" value="#{productBean.product}" />
</h:button>