有没有办法让EL引擎进入“严格”模式? 当我在EL中引用不存在的东西时,我想收到一条错误消息。
例如,我希望这会产生错误:
... value="#{cc.attr.attrname}" ...
拼错了。应该是:
... value="#{cc.attrs.attrname}" ...
默认行为似乎是:
忽略cc
没有attr
成员的事实,并将空字符串分配给value
。
如果重要的话,我在Glass Fish 3.1.2.2下使用Mojarra 2.2.9
<class-loader delegate="false" />
<property name="useBundledJsf" value="true"/>
答案 0 :(得分:0)
EL在运行时进行评估,因此编译器/ IDE无法知道某些EL表达式将解析的内容。您的问题在自定义组件的上下文中确实有意义,但是没有什么能阻止您在代码中放置<c:set var="cc" value="some string"/>
之类的内容,这会使编译器/ IDE感到困惑。