使用绑定在托管bean中设置primefaces CommandButton对象的actionListener

时间:2014-11-27 16:55:03

标签: jsf primefaces binding managed-bean commandbutton

我正在使用primefaces绑定,我正在尝试将actionListener添加到托管bean但我不知道该怎么做。

当我使用

commandButton.setActionListener(MethodBinding b);

这种方法已被弃用,有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

不推荐使用方法setActionListener。这已由addActionListener(javax.faces.event.ActionListener).

取代

因此,您应该使用addActionListener代替。

XHTML

<h:body>
    <h:form>
        <p:commandButton value="execute" binding="#{buttonView.button}"/>
    </h:form> 
</h:body>

managedbean

/**
 *
 * @author Wittakarn
 */
@SessionScoped
@ManagedBean(name = "buttonView")
public class ButtonView implements Serializable{

    private CommandButton button;

    public CommandButton getButton() {
        return button;
    }

    public void setButton(CommandButton button) {
        this.button = button;
    }

    @PostConstruct
    public void init(){
        button = new CommandButton();
        button.addActionListener(new CommandButtonActionListener());
    }
}

CommandButtonActionListener.java

/**
 *
 * @author Wittakarn
 */
public class CommandButtonActionListener implements ActionListener{

    @Override
    public void processAction(ActionEvent event) throws AbortProcessingException {
        System.out.println("execute");
    }
}