JSF Action,ActionListener,OnClick之间的区别



我在项目中使用JSF。我正在使用PrimeFaces的上下文菜单。我在p:menuItem中看到我们有actionactionListeneronclick方法。所以我的问题是:我何时必须使用actionactionListneronclick,执行顺序是什么?

  • onclick将首先执行。它用于调用JavaScript函数。

  • actionListener当您想对ajax进行一些调用
    时使用方法。该方法应具有返回类型void,方法 将ActionEvent作为参数或无参数;它可以 也可用于非Ajax调用,但该页面将被刷新。

  • action用于导航到另一个页面;该方法应该有返回类型String

以前提出过这个问题。当您要调用后背豆中的方法时,请使用操作。例如

action="#{myBean.myMethod}"

bean的代码就像

@ManagedBean(name = "myBean", eager = true)
@ViewScoped
public class MyBean{
myMethod(){
// your method code here
}
}

除了通过事件触发

触发的操作听众如何执行操作。
myMethod(Event e){
// your method code here
}

请注意,事件可以是任何类型的。

onclick在发送ajax请求之前工作,我没有太多的知识...我只将其用于UI目的,例如关闭对话框时单击按钮

<p:commandButton id="cancel"  value="Cancel"
                                    icon="ui-icon ui-icon-arrowreturnthick-1-w"
                                    style="float:right;" onclick="PF("dlg").hide()" type="button">
                                </p:commandButton>

另请参见

动作和ActionListener之间的差异

最新更新