我正在使用特立尼达2.0。我的问题是树表的展开/折叠命令。我认为他们应该自动展开/折叠树节点,但是通过单击它们,没有任何反应,我得到了例外
SEVERE: Error Rendering View[/MyXhtml.xhtml]
01/05/2012 15:31:08 org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer encodeAll
SEVERE: Error displaying partial page
java.lang.NullPointerException
at org.apache.myfaces.trinidad.render.CoreRenderer.getFacesBean(CoreRenderer.java:739)
at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer.renderSpecialColumns(TreeTableRenderer.java:379)
at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer.renderSingleRow(DesktopTableRenderer.java:113)
at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.TableRenderer.encodeAll(TableRenderer.java:388)
at org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer.encodeAll(TreeTableRenderer.java:177)
我在FireBug中看到此异常:
_logError(varArgs="Invalid PPR response. T...ror></partial-response>")
这是如何造成的,我该如何解决?
我们正在从 JSF 1.2 迁移到 JSF 2.0。在 JSF 1.2 中,<tr:treeTable>
工作正常,但现在使用 JSF 2.0 和特立尼达 2.0 时,当我尝试展开或折叠节点时,我遇到了这些错误。顺便说一句,特立尼达 2.0 的组件<tr:tree>
工作正常,但我们需要<tr:treeTable>
.
Web 应用程序使用的 JAR 包括:
- 共享资源-豆类-1.8.3.jar
- 共享编解码器-1.3.jar
- 共享资源集合-3.2.jar
- 共享资源消化器-1.8.jar
- 共享资源日志记录-1.1.1.jar
- 我的面孔捆绑包-2.1.7.jar
- 我的面孔-impl-2.1.7.jar
- 特立尼达-API-2.0.0.jar
- 特立尼达-IMPL-2.0.0.jar
我正在使用MyEclipse 10作为IDE。
根据特立尼达 2.0.0 源代码,这是CoreRenderer#getFacesBean()
第 739 行周围发生的事情:
736 protected FacesBean getFacesBean(
737 UIComponent component)
738 {
739 return ((UIXComponent) component).getFacesBean();
740 }
所以,component
null
.
您可能不想听到这个,但这确实是特立尼达的一个错误,因为它仅由特立尼达内部代码使用。我会开始升级到最新的特立尼达 2.x 版本(目前是 2.0.1(。它可能已经在那里修复了。如果没有,请将其作为新错误报告给特立尼达人。
更改 IDE 时,我解决了 treeTable 的展开/折叠命令的问题。从MyEclipse 10到SpringSource工具套件2.9.1,在这个IDE中,树表的所有展开/折叠命令都可以正常工作。