Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемка с JSF 
V
    Опции темы
DENIS7
Дата 2.5.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 можно это сделать, какими путями?
PM MAIL WWW   Вверх
necromancer
Дата 5.5.2008, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



а можно еще привести и код разметки?


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
DENIS7
Дата 11.5.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.9.2007

Репутация: нет
Всего: нет



Сорри, нашел решение.

Добавил после строки 
Node.setExpanded(true);
следующее
Node.setActionExpression(exFactory.createMethodExpression(elContext, "#{PageClients.SetTree_action}", String.class, new Class<?>[0]));


PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0572 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.