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