powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / ADF Faces Tree: ленивая загрузка дочерних узлов
1 сообщений из 1, страница 1 из 1
ADF Faces Tree: ленивая загрузка дочерних узлов
    #33523491
artgonch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Хочу сделать на основе этого компонента рубрикатор. Он хранится в таблице, в которой сохранены иерархические отношения между компонентами кодированных данных, например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
55.41.31	Дизельный подвижной состав
55.41.31.29	Тепловозы
55.41.31.29.29	Тепловозы с электрической передачей
55.41.31.29.31	Тепловозы с гидравлической передачей
55.41.31.29.33	Тепловозы с механической передачей
55.41.31.29.35	Тепловозы маневровые
55.41.31.31	Автомотрисы, дизель-поезда
55.41.31.39.37	Тепловозы промышленного транспорта
55.41.33	Газотурбинные локомотивы и турбопоезда. Паровозы
Вот описание дерева:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
      <af:form>
        <af:tree binding="#{backing_index.tree}"
                 value="#{backing_index.rubricTree}" var="node"
                 disclosureListener="#{backing_index.nodeClosure}">
          <f:facet name="nodeStamp">
            <h:outputText value="#{node.descr}"/>
          </f:facet>
        </af:tree>
Вот метод бина (бин зранит корень дерева и должен давать ссылки на своих потомков по требованию), который возвращает потомков данной рубрики:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
   public  ArrayList getChildren()
  {
    // Если список уже загружен, то ничего не делать
     if  (children !=  null )
       return  children;
      
    // Иначе начать зугрузку потомков
    children =  new  ArrayList( 30 );
    Connection conn =  null ;
     try 
    {
      conn = MyConnection.getConnection();
      RubricatorDAO rdao =  new  RubricatorDAO(conn);
      // Загрузить все подрубрики данной рубрики
      children = rdao.getChildren(id);
    }
     catch  (SQLException ex)
    {
      System.out.println("[RubricItem.java]" + ex.getErrorCode() + ": " + ex.getMessage());
    }
     finally 
    {
       try 
      {
         if  (conn !=  null )
          conn.close();
      }
       catch  (SQLException ex){}
    }
     return  children;
  }

Но при запуске приложения выяснилось, что компонент рекурсивно обходит все модель, пытаясь загрузить ее целиком.
Как бы сделать так, что бы, есои у узла имеются потомки, он помечался соотв. значком, но при это своих потомков загружал только при разворачивании?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / ADF Faces Tree: ленивая загрузка дочерних узлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]