JSF不报告未定义的bean

Tom*_*mik 4 java jsf el javabeans

我开始学习Java,JSF2和JPA2,并开始使用"Pet Catalog"示例项目.我使用Eclipse + Glassfish.

所以我有以下行的JSF视图页面:

<h:outputText value="Item #{catalog.pagingInfo.firstItem + 1} .. #{cataloTYPO.pagingInfo.lastItem} of #{catalog.pagingInfo.itemCount}"/>
Run Code Online (Sandbox Code Playgroud)

cataloTYPO不存在,它不是一个bean,不是类,没有.问题是JSF似乎对它非常满意并输出"第1项......第29项"我希望它会引发异常或至少将问题写入日志,但没有任何反应.

我试图谷歌这个问题,但似乎没有人拥有它.

感谢帮助.

编辑:或者,这是正常的行为吗?

Bal*_*usC 6

这不是JSF特有的.这是EL(那些#{}东西)特有的.它设计为nullsafe.如果范围内没有可用的东西,即它null,那么它就不会采取进一步的行动.它什么都不打印,不会NullPointerException被抛出.这在empty允许情况的情况下特别有用.

如果你想提出异常或警告报告,那么你必须自己编写ELResolver,当解析后的价值证明是这样的null.关于ELResolver为JSF 实现自己的一篇很好的文章可以在这里找到.