2013-04-23 5 views
3

Итак, вот в чем дело: У меня есть selectOneMenu на мой взгляд:Добавить SelectedValue из selectonemenu в список

<p:selectOneMenu value="#{personBean.person.personStates.state}" id="estadoRg" 
    converter="entityConverter"> 
    <f:selectItems value="#{stateBean.states}" var="state" 
     itemLabel=#{state.name}" itemValue="#{state}"> 
    </f:selectItems> 
</p:selectOneMenu> 

Где personStates список, содержащий лицо, дата государственной н. Можно ли добавить значение из itemValue непосредственно в список personStates? (У меня есть метод addPersonState, автообновленный в моей PersonModel)

Если нет, как мне это сделать? Я не хочу добавлять один экземпляр состояния для каждого selectOneMenu (будет 5) в моей персонеBean ... Было ли это ясно?

ответ

2

Вы должны обрабатывать его через selectedState значение, а затем вы можете привязать его к конкретному человеку:

<p:selectOneMenu value="#{stateBean.selectedState}" id="estadoRg" 
    converter="entityConverter"> 
    <f:selectItems value="#{stateBean.states}" var="state" 
     itemLabel=#{state.name}" itemValue="#{state}"> 
    </f:selectItems> 
</p:selectOneMenu> 

Это способ, как p:selectOneMenu используется, чтобы быть в состоянии связать выбранное состояние и лицо вызова метода :

<p:commandButton actionListener="#{personBean.matchStates}" /> 

и противни метод компонента:

public void matchStates { 
    FacesContext facesContext = FacesContext.getCurrentInstance(); 
    ElContext elContext = facesContext.getELContext(); 
    Object stateBean = elContext.getELResolver().getValue(elContext, null, "stateBean"). 
    State selectedState = stateBean.getSelectedState(); 
    personList.get(index).setState = selectedState; 
} 
+0

... Хорошо, что прочистила ум ... только вещь, которую я меняю, заключается в том, что метод будет обрабатываться ajax .... thnx very much –