编程语言
首页 > 编程语言> > java-JSF2中的AjaxBehaviorEvent与ActionEvent

java-JSF2中的AjaxBehaviorEvent与ActionEvent

作者:互联网

最近,我一直在尝试将我正在开发的该应用程序从JSF 1.2升级到JSF 2,在此过程中,我遇到了麻烦,因为您可能已经知道AjaxBehaviorEvent是JSF的全部新功能,然后又回到了JSF中1.2并使用RichFaces 3,我可以执行以下操作:

在支持bean中具有单个方法的签名

public void onSomeEvent(ActionEvent evt){
    //Process the event
}

我可以在以下两个位置调用此方法,如下所示
1-

<h:commandButton actionListener="#{bean.onSomeEvent}" value="Process Event"/>

2

<h:commandButton value="Process Event" >
    <a4j:support event="oncomplete" actionListener="#{bean.onSomeEvent}" />
</h:commandButton>

现在在JSF 2中有两种类型的事件,旧的ActionEvent和新的AjaxBehaviorEvent似乎都不能相互替代,我的意思是,如果我要将方法与f:ajax一起使用,则它的参数列表中需要AjaxBehaviorEvent ,如果我将其与组件的普通DHTML事件一起使用,则它需要在参数列表中具有ActionEvent.

我想知道是否有某种方法可以使用两种类型的事件来完成我在JSF 2中所做的工作.

谢谢你们.

解决方法:

我确实通过使用@maple_shaft所建议的EL 2.2来克服了这个问题,我所做的是我从不使用它的方法中删除了ActionEvent参数.

标签:ajax4jsf,richfaces,jsf,java,java-ee
来源: https://codeday.me/bug/20191201/2077377.html