Я пытаюсь построить дерево компонентов в JSF 1.2 (Мохарра), где дерево состоит из нескольких типов узлов соединения и листьев. Каждый листовой узел должен отображаться уникальным способом и должен быть отправлен с потенциальными изменениями. Цель состоит в том, чтобы позволить пользователю обновить логику обработки, где каждый конечный узел представляет операцию, такую как «значение равно» или «значение не равно».
Например:
Root
|
+- InternalNode1 (type I_A)
| |
| +- LeafNode1 (type L_A)
| |
| +- LeafNode2 (type L_B)
|
+- InternalNode2 (type I_B)
|
+- LeafNode3 (type L_B)
|
+- LeafNode4 (type L_A)
Каждый тип конечного узла должен отображаться по-разному, в зависимости от потребностей этого типа узла. Кроме того, дерево будет модифицируемым, а узлы могут быть добавлены или удалены с помощью Javascript и обновлений, отправленных обратно на сервер и т. Д. Например, в приведенном выше дереве можно удалить LeafNode4 или изменить его тип на L_B.
Возможно ли это даже с компонентами JSF? Я поступаю неправильно, пытаясь использовать полиморфные компоненты пользовательского интерфейса?