Я хотел бы сделать небольшую страницу html, где вы можете выбрать операторов, которые вы хотели бы использовать в своих расчетах, в флажке, и при флажке есть раскрывающийся список, в котором указаны вышеперечисленные операторы как содержание. Каждый раз, когда вы проверяете/снимаете операцию, выбираемое содержимое раскрывающегося списка должно измениться. Я хочу сделать это с помощью ValueChangeListener, но я не знаю, как реализовать прослушиватель изменений значения в этом упражнении.JSF SelectManyCheckbox/SelectOneMenu example
Вот мой index.html
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form>
<h:selectManyCheckbox onchange = "submit()">
<f:selectItems value = "#{selectManyCheckboxBean.list}" valueChangeListener = ""/>
</h:selectManyCheckbox>
<h:outputText id = "outputText" value = ""/>
<h:selectOneMenu value = "">
<f:selectItems value = ""/>
</h:selectOneMenu>
</h:form>
</h:body>
А вот мой SelectManyCheckboxBean.java
@ManagedBean
@SessionScoped
public class SelectManyCheckboxBean {
private List<SelectItem> list;
public SelectManyCheckboxBean() {
list = new ArrayList<>();
list.add(new SelectItem('+'));
list.add(new SelectItem('-'));
list.add(new SelectItem('*'));
list.add(new SelectItem('/'));
}
public List<SelectItem> getList() {
return list;
}
public void operatorValueChange (ValueChangeEvent event) {
}
}
Может кто-нибудь дать мне решение или, по крайней мере, фрагмент кода для значения изменить слушателя? Моя основная проблема заключается в том, что я не знаю, как сообщить слушателю изменения значения, что он должен добавить выбранных операторов в список, когда они были отмечены в указанных выше флажках.
Спасибо, но я хотел бы сделать это со слушателем изменения стоимости. –
'f: selectItems' не имеет' valueChangeListener', 'h: selectManyCheckbox' делает ... Просто добавьте' # {selectManyCheckboxBean.operatorValueChange} 'значение в значение valueChangeListener. – peterremec