这个问题主要针对PrimeFaces开发团队,但也许其他人知道解决方法。我无法在PrimeFaces支持论坛上上传截图,但我可以在这里链接到我的问题。
在这里发布在PrimeFaces论坛: http://www.primefaces.org/forum/viewtopic.php?f=3&t=14203&sid=5a4e3dad45f2978e9a896fc5fdb17d50
使用PrimeFaces 3.0 <p:tree>
组件时遇到JavaScript错误。我已经汇总了一个非常简单的例子来说明:
第一次成功渲染包含树的页面。
注意:expanded="true"
属性被完全忽略,但这是一个不同的问题。
展开树上的任何节点。
最后,我点击页面上的命令按钮,除了触发<p:tree>
的部分页面渲染外什么都不做。发生JavaScript错误。
错误代码文字是:
Line: 17
Char: 5725
Error: Could not complete the operation due to error 80020101
Code: 0
以下是Facelet页面中的相关代码:
<h:form id="contentForm">
<p:outputPanel layout="block">
<p:commandButton
ajax="true"
process="@this"
update="treeArea"
value="Redraw Tree" />
</p:outputPanel>
<p:outputPanel id="treeArea" layout="block">
<p:tree
value="#{treeTestBean.trivialTreeRoot}"
var="node"
expanded="true"
update="selectedEntityName">
<p:treeNode>
<h:outputText value="#{node}" />
</p:treeNode>
</p:tree>
</p:outputPanel>
</h:form>
以下是bean的相关代码:
@SuppressWarnings("unused")
public TreeNode getTrivialTreeRoot() {
TreeNode root = new DefaultTreeNode("Root", null);
TreeNode node0 = new DefaultTreeNode("Node 0", root);
TreeNode node1 = new DefaultTreeNode("Node 1", root);
TreeNode node2 = new DefaultTreeNode("Node 2", root);
TreeNode node00 = new DefaultTreeNode("Node 00", node0);
TreeNode node01 = new DefaultTreeNode("Node 01", node0);
TreeNode node010 = new DefaultTreeNode("Node 010", node01);
return root;
}
我正在使用当前的PrimeFaces 3.0-M3-SNAPSHOT与Mojarra 2.1.1和Tomcat 7.0.14。浏览器是IE 7。
知道如何解决这个问题吗?这对我来说是一个节目,因为我需要一种在我的webapp中显示树视图的方法。一旦发生JavaScript错误,它会使页面上的所有其他PrimeFaces组件无响应。