【发布时间】:2014-02-21 16:58:05
【问题描述】:
我在我的项目中使用 JSF。我正在使用 PrimeFaces 的上下文菜单。我在p:menuItem 中看到我们有action、actionListener、onclick 方法。所以我的问题是:我什么时候必须使用action、actionListner、onclick,执行顺序是什么?
【问题讨论】:
标签: jsf jsf-2 primefaces
我在我的项目中使用 JSF。我正在使用 PrimeFaces 的上下文菜单。我在p:menuItem 中看到我们有action、actionListener、onclick 方法。所以我的问题是:我什么时候必须使用action、actionListner、onclick,执行顺序是什么?
【问题讨论】:
标签: jsf jsf-2 primefaces
以前有人问过这个问题。 当您想要调用支持 bean 中的方法时,使用操作。例如
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>
另见
【讨论】:
onclick 将首先执行。用于调用javascript函数。
actionListener 用于当您希望对 a
进行一些 ajax 调用时
方法。该方法应具有返回类型void,该方法
将ActionEvent 作为参数或不使用参数;它可以
也可用于非 ajax 调用,但随后页面将被刷新。
action 用于导航到不同的页面;该方法应
返回类型为String。
【讨论】: