如何通过h:commandbutton actionListener传递一个Object和ActionEvent?

时间:2017-12-07 22:00:39

标签: jsf-2.2

我可以通过void clicked(ActionEvent event)

将ActionEvent从JSF页面传递给方法<h:commandButton ... actionListener="#{something.clicked}" ...>

我还可以通过void clicked(Object obj)

将对象传递给方法<h:commandButton ... actionListener="#{something.clicked(Object obj)}" ...>

但是如何在一次调用void clicked(ActionEvent event, Object obj)

之类的方法中传递两者

1 个答案:

答案 0 :(得分:0)

我猜你正在寻找

<f:setPropertyActionListener />

你把它放在commandButton或commandLink:

<h:commandButton actionListener="#{something.clicked}">
    <f:setPropertyActionListener target="#{something.obj}" value="#{obj}"> 
</h:commandButton>

它在调用监听器之前用obj填充something.obj属性。

对于JSF 1.x,您可以使用MyFaces Tomahawk的

<t:updateActionListener />

也是如此。