私のユースケースでは、(Primefaces) selectOneRadio があります。これは ui:repeat 内にあります。selectOneRadio の値は正常に表示されます。反復されるエンティティに応じて、各 selectOneRadio に有用なデフォルト値を設定したいと考えています。これも問題なく動作し、デフォルトが選択されています。しかし、私のアプローチでは、例外が発生するため、selectOneRadio の値を設定できません。
javax.el.PropertyNotWritableException: [...] value="#{orderBean.getProductPriceId(product)}": Illegal Syntax for Set Operation
反復エンティティに応じて、ui:repeat 内に selectiOneRadioButton-value を設定するにはどうすればよいですか?
OrderBean:
public class OrderBean {
private String productPriceId; // + getter and setter
public String getProductPriceId(final Product product) {
return product == null ? "" : product.getPricesAsList().get(0).getId().toString();
}
}
xhtml:
<ui:repeat var="product" value="...">
<p:selectOneRadio value="#{orderBean.getProductPriceId(product)}">
...
</p:selectOneRadio>
</ui:repeat>