花了2个小时调试我的webapp (JSF facelets with Primfaces和JSF ManagedBeans),结果发现我在一个数据表中拼写错了支持bean的名称(名称很长)(不幸的是,我没有得到任何错误消息,表中没有显示任何数据)
由于我通常为我的视图使用一个支持bean(控制器),因此可以通过在facelet(即xhtml文件)中将支持bean的名称声明为常量一次,并在调用该bean上的方法的EL中引用该常量来减少此类错误。如何才能做到这一点?
both
<c:set var="foo" value="#{lengthyBeanName}" />
和
<ui:param name="ctrl" value="#{ctrlBeanName}" /
>
做到了。但是它当然不能真正解决核心问题(也就是说,当使用一个不存在的bean来加载数据/集合时,一些primefaces组件(例如dataTable)不会抱怨)