Этот вопрос в основном направлен на команду разработчиков PrimeFaces, но, возможно, кто-то знает обходной путь. Я не могу загрузить скриншоты на форумах поддержки PrimeFaces, но я могу дать ссылку на свой вопрос здесь.
Размещено на форумах PrimeFaces здесь:
http://www.primefaces.org/forum/viewtopic.php?f=3&t=14203&sid=5a4e3dad45f2978e9a896fc5fdb17d50
Я обнаружил ошибки JavaScript при использовании компонента PrimeFaces 3.0 <p:tree>
. Я собрал очень простой пример для иллюстрации:
Страница, содержащая дерево, успешно отображается в первый раз.
ПРИМЕЧАНИЕ. Свойство 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>
Вот соответствующий код от боба:
@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.
Есть идеи, как я могу обойти это? Для меня это showtopper, так как мне нужен способ отображения дерева в моем веб-приложении. Как только возникает ошибка JavaScript, все остальные компоненты PrimeFaces на странице перестают отвечать на запросы.