2017-02-22 15 views
0

작은 html 페이지를 만들고 싶습니다. 확인란을 사용하여 계산에 사용할 연산자를 선택할 수 있습니다. 확인란 아래에 위에서 선택한 연산자가있는 드롭 다운 목록이 있습니다. 함유량. 작업을 선택/선택 해제 할 때마다 드롭 다운 목록의 선택 가능한 내용이 변경되어야합니다. ValueChangeListener를 사용하여이 작업을 수행하려고하지만이 연습에서는 값 변경 리스너를 구현하는 방법을 알지 못합니다. 여기 JSF SelectManyCheckbox/SelectOneMenu 예

내 SelectManyCheckboxBean.java 내 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> 

입니다 그리고 여기

@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) { 

    } 
} 

사람은 나에게 값에 대한 해결책 또는 적어도 코드를 제공 할 수 청취자를 바꾸시겠습니까? 내 주요 문제는 값 변경 리스너가 위의 확인란을 선택했을 때 목록에 선택된 연산자를 추가해야한다는 것을 어떻게 알지 못하는 것입니다.

답변

0

selectOneMenu 속성 value#{selectManyCheckboxBean.list}으로 설정하면됩니다. 그것이 귀하의 확인 된 가치입니다.

+0

감사합니다.하지만 저는 이것을 가치 변화 리스너와 함께 만들고 싶습니다. –

+0

'f : selectItems'에는'valueChangeListener'가 없습니다.'h : selectManyCheckbox'는 ...'valueChangeListener'에'# {selectManyCheckboxBean.operatorValueChange} '값을 추가하기 만하면됩니다. – peterremec