我在项目中使用JSF。我正在使用PrimeFaces的上下文菜单。我在p:menuItem
中看到我们有action
,actionListener
,onclick
方法。所以我的问题是:我何时必须使用action
,actionListner
,onclick
,执行顺序是什么?
-
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之间的差异