如何从ActionEvent对象组件价值?(How to get component value f

2019-10-19 01:57发布

我使用的Ajax4jsf与JSF 1.1和我有类似的代码:

<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 
 }

Answer 1:

在JSF经典方法是使用输入组件,例如值属性:

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

输入值将被存储在value的属性bean ,并且可以通过动作侦听器被用来操作上。

它仍然有可能得到在“另类”方式的动作监听值:

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


文章来源: How to get component value from ActionEvent object?