JSF在action,actionlistener,onClick之间的区别

时间:2014-01-29 17:49:18

标签: jsf jsf-2 primefaces

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

2 个答案:

答案 0 :(得分:16)

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

  • 当你想要对一个ajax调用时,使用
  • actionListener 方法。该方法应该具有返回类型void,即方法     或者以ActionEvent作为参数或不参数;它可以     也可用于非ajax调用,但页面将刷新。

  • action用于导航到其他页面;方法应该 返回类型为String

答案 1 :(得分:2)

之前已经问过这个问题。 如果要在辅助bean中调用方法,则使用Action。 e.g

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请求之前工作我没有太多知识aboput它...我只是用于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>

另请参阅

Differences between action and actionListener