![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
DENIS7 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 22.9.2007 Репутация: нет Всего: нет |
Я новичек в JAVA, поэтому прошу не судить строго.
Использую Netbeans 6.1 и JSF (woodstook) Пытаюсь разобраться с JSF и сделать дерево, в котором все элементы будут создаваться динамически при обновлении страницы, т.е. считываться из базы данных и сразу на каждый элемент будет вешаться действие - Action. public void prerender() { boolean hasNext=true; Integer CodeID=0; Integer ID=0; int T=0; Integer ParentID=0; TreeNode Node = null; TreeNode AddedNode = null; String NameClient=null; ArrayList<Integer> ListClients=new ArrayList(); List Child=treeC.getChildren(); Child.clear(); try { ((SessionBean1)getBean("SessionBean1")).getV_group_clientsRowSet().execute(); hasNext = v_group_clientsDataProvider.cursorFirst(); while (hasNext) { ID = Integer.valueOf(v_group_clientsDataProvider.getValue("GROUP_CLIENT_ID").toString()); NameClient=v_group_clientsDataProvider.getValue("GROUP_CLIENT_NAME").toString(); ParentID = Integer.valueOf(v_group_clientsDataProvider.getValue("GROUP_CLIENT_PARENT").toString()); Node=new TreeNode(); Node.setId("CLIENT"+CodeID.toString() ); Node.setText(NameClient); Node.setExpanded(true); Node.addActionListener(new ClientsActionListener()); CodeID=CodeID+1; AddedNode=null; for (T=0; T<ListClients.size(); T++){ if (ParentID.equals(ListClients.get(T))==true ){ AddedNode=treeC.getChildNode("CLIENT"+String.valueOf(T) ) ; } } ListClients.add(ID); if (AddedNode==null){ Child.add(Node); }else{ AddedNode.getChildren().add(Node); } hasNext = v_group_clientsDataProvider.cursorNext(); } } catch (Exception ex) { Logger.getLogger(PageClients.class.getName()).log(Level.SEVERE, null, ex); } ListClients.clear(); buttonSet.addActionListener(new ClientsActionListener()); } public class ClientsActionListener extends ActionListenerImpl { private PhaseId phaseId = PhaseId.RENDER_RESPONSE; public PhaseId getPhaseId( ) { return phaseId; } public void setPhaseId(PhaseId phaseId) { this.phaseId = phaseId; } public void processAction(ActionEvent arg0) throws AbortProcessingException { //throw new UnsupportedOperationException("Not supported yet."); System.out.print("TEST"); } } Самое интересное что на событие на кнопку buttonSet срабатывает, а вот на элемент дерева TreeNode нет. Вопрос такой - как в JSF можно это сделать, какими путями? |
|||
|
||||
necromancer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 317 Регистрация: 26.7.2006 Где: Москва Репутация: 6 Всего: 7 |
а можно еще привести и код разметки?
-------------------- С уважением, Виталий Смык ---------------------------------------------------------------------------------------------- SCJP, SCWCD, OCA http://dev.maryno.net/video/ |
|||
|
||||
DENIS7 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 22.9.2007 Репутация: нет Всего: нет |
Сорри, нашел решение.
Добавил после строки Node.setExpanded(true); следующее Node.setActionExpression(exFactory.createMethodExpression(elContext, "#{PageClients.SetTree_action}", String.class, new Class<?>[0])); |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |