2013-12-01 6 views
1

я использую Ajax4jsf с JSF 1.1 и у меня есть код, как:Как получить значение компонента из объекта ActionEvent?

<h:selectOneMenu id="INPUT_PO_DocCategory" binding="#{PrinceOfficeBean.PO_DocCategory}" style="width:200px;"> 
      <f:selectItem itemLabel="test" itemValue="123"/> 
      <f:selectItem itemLabel="test2" itemValue="456"/> 
     <a4j:support event="onchange" actionListener="#{PrinceOfficeBean.processDocumentCategoryValueChange}" reRender="INPUT_PO_DocType" /> 
</h:selectOneMenu> 

этот код является статическим, и я могу получить значение SelectOne через PO_DocCategory связанных объект вопрос: можно ли получить значение компоненты в actionlistener через объект события действия?

public void processDocumentCategoryValueChange(ActionEvent e) throws Exception { 
    // get component value from ActionEvent 
} 

ответ

3

Классический способ JSF является использование атрибута значение входного компонента, например:

<h:selectOneMenu value="#{bean.value}"> 
    ... 
</h:selectOneMenu> 

Значение входного будет храниться в value атрибута bean, и может быть использовано действий слушателя действуют на.

Это еще можно получить значение в действии слушателя в «альтернативный» способ:

((EditableValueHolder) event.getComponent().getParent()).getValue() 
+0

, это получает значение selectOneMenu, верно? и как получить идентификатор selectOneMenu в этом случае? –

+1

@MahmoudS Вы пробовали event.getComponent(). GetParent(). GetId()? – Andrey

+0

, это правильный ответ, спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^