是什么区别action和actionListener,什么时候应该使用action与actionListener?
我遇到了一个奇怪的情况.我有一个应用程序,最初在RAD中开发并使用类似的结构
rendered="#{bean.show and user.can('foo')}"
Run Code Online (Sandbox Code Playgroud)
我们的开发人员使用RAD和Eclipse Juno/Kepler的混合.因此,我们需要使代码在两种环境中都能正常工作.
在RAD中,上述行不会产生任何错误.当我将项目导出为存档并将其导入Eclipse Juno时,会生成此错误
无法将表达式运算符应用于方法绑定
我们的环境是Websphere 8.5,RAD/Eclipse,JSF 2.1
我怎样才能解决这个问题?
我正在尝试将动作参数传递给我的页面中的局部视图,但出于某种原因,它表示我的参数是null,即使它是在外部页面中使用的bean.
页:
<ui:include src="/templates/common/ajaxConfirmPopup.xhtml">
<ui:param name="bean" value="#{paginaBean}" />
<ui:param name="action" value="deleteAll" />
</ui:include>
Run Code Online (Sandbox Code Playgroud)
在部分中调用动作:
actionListener="#{bean[action]}"
Run Code Online (Sandbox Code Playgroud)
但我得到以下异常:
Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'bean' resolved to null
at org.apache.el.parser.AstValue.getTarget(AstValue.java:98) [jbossweb-7.0.13.Final.jar:]
at org.apache.el.parser.AstValue.invoke(AstValue.java:244) [jbossweb-7.0.13.Final.jar:]
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) [jbossweb-7.0.13.Final.jar:]
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
注意:当方法有ActionEvent参数时,一切正常,当方法没有参数时,它不工作.