Как установить значение selectiOneRadioButton внутри пользовательского интерфейса:repeat в зависимости от повторяющейся сущности?
В моем случае у меня есть (Primefaces) selectOneRadio. Это в пользовательском интерфейсе: повторить. Значения selectOneRadio отображаются нормально. Я хочу, чтобы каждый selectOneRadio имел полезное значение по умолчанию, в зависимости от повторяющейся сущности. Это тоже нормально работает, по умолчанию выбрано. Но с моим подходом я не могу установить значение selectOneRadio, поскольку возрастает исключение:
javax.el.PropertyNotWritableException: [...] value="#{orderBean.getProductPriceId(product)}": Illegal Syntax for Set Operation
Как установить значение selectiOneRadioButton внутри пользовательского интерфейса: repeat в зависимости от повторяющейся сущности?
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>
1 ответ
Это действительно бессмысленно. Вы должны убедиться, что модель соответствует представлению без какой-либо дополнительной бизнес-логики.
Просто используйте
<p:selectOneRadio value="#{product.priceId}">
и дать элементу по умолчанию значение null
вместо ""
так что это соответствует.