adb*_*dkb 12 eclipse validation jsf el
我遇到了一个奇怪的情况.我有一个应用程序,最初在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
我怎样才能解决这个问题?
Bal*_*usC 18
通常,如果您在Eclipse中的JSF文件中遇到错误的EL验证错误,请尝试在Window> Preferences> Web> JavaServer Faces Tools> Validation中查看并调整当前(不必要)设置为Error的一些设置.
您的特定问题由"将操作符应用于方法绑定"触发,实际上默认为" 错误".如果将Eclipse升级到最新版本在某种程度上不是一个选项,将其设置回警告应该降低它.
毕竟,Eclipse中的EL验证是一个非常史诗般的失败.看起来它正在使用正则表达式来验证EL语法,而不是像EL本身那样真正的基于堆栈的解析器."类型强制问题"和"类型分配问题"下面有几个条目,它们被不必要地设置为错误并且已知会导致错误.
我对这些陈述中的任何一个都犯了同样的错误:
<h:panelGroup rendered="#{!bean.isValid(obj)}">
<h:panelGroup rendered="#{not bean.isValid(obj)}">
我通过更改语句解决了该错误,如下所示:
<h:panelGroup rendered="#{bean.isValid(obj) == false}">
我发现了另一个解决问题的例子:
<ui:fragment rendered="#{bean.isValid(obj) eq 'false'}">
| 归档时间: |
|
| 查看次数: |
9832 次 |
| 最近记录: |