我正在使用Trinidad 2.0。我的问题是treeTable的expand / collapse命令。我觉得他们 应该自动展开/折叠树节点,但是 通过点击它们,没有任何反应,我得到了例外
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和trinidad 2.0时,当我尝试展开或折叠节点时,我会遇到这些错误。顺便说一句,来自trinidad 2.0的组件<tr:tree>
工作正常,但我们需要<tr:treeTable>
。
Web应用程序使用的JAR是:
我使用MyEclipse 10作为IDE。
答案 0 :(得分:1)
根据Trinidad 2.0.0 source code,这是CoreRenderer#getFacesBean()
第739行附近发生的事情:
736 protected FacesBean getFacesBean(
737 UIComponent component)
738 {
739 return ((UIXComponent) component).getFacesBean();
740 }
因此,component
为null
。
你可能不想听到这个,但这确实是特立尼达的一个错误,因为它只被特立尼达内部代码使用。我开始升级到latest Trinidad 2.x版本(目前是2.0.1)。它可能已经在那里修复了。如果没有,那么report它就是特立尼达人的新错误。
答案 1 :(得分:0)
当我更改IDE时,我用treeTable的expand / collapse命令解决了这个问题。 从MyEclipse 10到SpringSource Tool Suite 2.9.1,在这个IDE中,treeTable的所有展开/折叠命令都可以正常工作。