JSF - ActionListener的标签要求不采取动作事件参数的方法(JSF - acti

2019-07-18 08:21发布

我继续阅读帖子这不能不说ActionListener的方法必须具有以下signiture:

public void calledByActionListener(ActionEvent e) {
}

调用像这样:

<p:commandButton value="Example" id="example" process="@this" ajax="false" 
    actionListener="#{exampleBean.calledByActionListener()}">

不过,我有这样一个无参数的方法,它的工作原理:

public void calledByActionListener() {
}

做了什么改变?

Answer 1:

是的,这是新的EL 2.2调用自定义参数的方法的特点。 基本上,你明确调用一个方法argumentless。 此结构是合法的。

请注意,这是不相关的JSF2。 EL 2.2恰好是Java EE 6的,以及像JSF2的一部分。 因此,它看起来像一个新的JSF2功能。 但实际上并非如此。 作为证据,JSF2与Java EE 5这意味着因而EL 2.1向后兼容,但这种结构不工作在那里。

当不明确指定的方法中表达的任何自定义参数,JSF将按照本说明书假设一个默认参数ActionEvent中的实际方法。



文章来源: JSF - actionListener tag calls method which doesn't take an ActionEvent parameter