Я пытаюсь построить дерево поверхностей из базы данных. Но я не мог управлять им. Вот мой XHTML:<p:treeNode> не может получить доступ к <p: tree var = "node">
<p:tree value="#{userBean.root}"
var="node"
selectionMode="single"
selection="#{userBean.selectedNode}"
>
<p:treeNode>
<h:outputText value="#{node}" />
</p:treeNode>
</p:tree>
А вот боб:
private List<UserModel> userList;
private TreeNode root;
root = new DefaultTreeNode("Root", null);
for (int i = 0; i < userList.size(); i++) {
TreeNode node = new DefaultTreeNode(userList.get(i) ,root);
// node.setRowKey(userList.get(i).getMIdUser() + "");
}
Что я пытаюсь сделать то, что я хочу, чтобы иметь как имя объекта и его идентификатор, поэтому я добавил объект к узлу дерева по умолчанию. Но на странице xhtml var имя дерева является «узлом». На узле дерева я не могу сказать «node.name»
Надеюсь, я могу объяснить проблему. Спасибо заранее.
Благодарим вас за ответ. Я не реализовал функцию getRoot(). Это должно быть реализовано? –
и моя главная проблема: я не могу сказать «node.name» –
, если у вас нет getRoot, тогда у вас нет доступа к # {userBean.root}. если код, который вы выложили выше, является вашим bean-компонентом - он тоже не работает. после того, как у вас есть компонент, и вы можете получить доступ ко всем полям (через общедоступные методы ... ...), и поля правильно инициализированы, тогда ваш код будет работать. в тот момент, когда кажется, что вы мало что сделали для этого. –