|
|
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Есть древовидная структура в одной табличке типа: CREATE TABLE(id INT,parentId INT,name VARCHAR(50)) Какие есть инструменты чтобы побыстрому визуализировать это дерево в сервлете или jsp страничке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2005, 07:32 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
ты не поверишь, но это так и называется - http://jsptree.sourceforge.net/ на примеры (как это выглядит в действии) можно посмотреть тут - http://jsptree.kamenskyj.net.ru/jsp/treeFolder.jsp вещь очень симпатичная. до нее у меня было написана своя реализация, жестко привязанная к структуре дерева и данных БД. потом, когда возникла необходимость расширить функционал - воспользовался приведенным продуктом. багов не обнаруживали. визуализируется по-быстрому. в jsp-документе выглядит как custom tag. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2005, 08:16 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Заценил. Эта, наскока я понял, мне надо скормить детищу уважаемого Каменского XML деревяшечку и все будет тип-топ. Не подскажите, как быстро построить деревяшечку из вышеописанной таблички? (Просто никогда до этого не занимался этими весчами) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2005, 09:47 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
XAЗаценил. Эта, наскока я понял, мне надо скормить детищу уважаемого Каменского XML деревяшечку и все будет тип-топ. Не подскажите, как быстро построить деревяшечку из вышеописанной таблички? (Просто никогда до этого не занимался этими весчами) не понял. хотя, может, у меня версия старая. в моей про xml нет ничего :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2005, 09:58 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
хмм... странно. Есть деревяшка xmlTree.xml На основе ее визуализируется дерево. Мне в принципе нравица. Начну учится xml строить... эх построить бы за сегодня:) Киньте уже сцылочки полезные чтобы я долго не мучался. Что-нибудь типа : скачать http://blablabla.bla и API к нему - и будет тебе щастье. org.w3c.dom мне поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2005, 10:29 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Хотелось бы пару строчек кода, чтобы понять как строится это : <?xml version="1.0" encoding="windows-1251"?> <!--DOCTYPE tree-set SYSTEM "http://jsptree.sourceforge.net/xml_jsp_tree.dtd"--> <tree-set> <tree name="servletTree"> <node id="1" label="LABEL1" href="?label=LABEL1"> <node id="2" label="LABEL2" href="?label=LABEL2"/> <node id="3" label="LABEL3" href="?label=LABEL3"/> <node id="4" label="JSPTREE" href="http://jsptree.sourceforge.net" contextRelative="false"> <node id="5" label="LABEL5" href="?label=LABEL5"/> </node> </node> <open-node> <node id="1"/> </open-node> </tree> </tree-set> пока еще не догнал.. как это построить а потом еще и в файл сохранить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2005, 10:46 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
ты имеешь в виду, что данные там определяются в xml? то есть - структура дерева? у меня для построения дерева используется java-код. дело делается так :) пусть у тебя описаны группы неких продуктов. структура таблицы - твоя, которую ты в первом посте описал. пишется класс ProductTreeFactory: Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. класс группы ProductGroup (написан в соотв. JavaBeans) понятен из предыдущего кода. класс AbstractTreeFactory реализует интерфейс TreeFactory из указанной библиотеки: Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. хух... далее. в jsp: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. теперь еще пара классов :) net.fpestde.test.tree.GroupComparator Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. net.fpestde.test.tree.GroupTreeSkin Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. вроде все :) -- Lacrima Mosa Est ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2005, 11:12 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Есть вопросик: у меня дерево формируется из базы - запрос к таблице и построение дерева. Все работате отлично. Но! проблемма в том, что дерево загружается один раз, а потом как бы я не обновлял страницу, дерево не перестраивается - т.е. в таблице в базе уже другие данные, а на jsp странице все то же страрое древо, которое загрузилось первый раз. И только после перезапуске Томкета дерево перерисовывается. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 10:48 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Сделай в методе buildTree() вывод в лог и посмотри, вызывается он при каждом запросе или нет, скорее всего нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:09 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
wessenСделай в методе buildTree() вывод в лог и посмотри, вызывается он при каждом запросе или нет, скорее всего нет. Щас спробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:13 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
buildTree() не вызывается при каждом запросе, как мне сделать чтобы вызывался? Хотя я немного не понимаю почему?-ведь я же каждый раз создаю объект класса TestFactory TestFactory TestFactory1 = new TestFactory(SERVER,LOGIN,PASSWORD) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:31 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Класс создаешь, а метод то не вызываешь. Метод вызывает наверное класс, который реализует кастом так, поэтому наверника есть либо атрибут в таге, либо флаг в классе TreeFactory, который указывает, нужно ли каждый раз дерево перерисовывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:51 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
wessenКласс создаешь, а метод то не вызываешь. Метод вызывает наверное класс, который реализует кастом так, поэтому наверника есть либо атрибут в таге, либо флаг в классе TreeFactory, который указывает, нужно ли каждый раз дерево перерисовывать. спасибо,да я так и предпологал, щас смотрю кастом таг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:56 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
блин, делаю орфографические ошибки, а тут на форуме за это ругают :) предпол А гал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:03 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Можно в лоб: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. А когда дерево меняется (у меня оно меняется в базе, через другие классы), то там есть вызов: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:27 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. а вот и сохранение в сессию дерева Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:31 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Denis PopovМожно в лоб: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. А когда дерево меняется (у меня оно меняется в базе, через другие классы), то там есть вызов: Код: plaintext так так так... посмотрим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:51 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Denis PopovМожно в лоб: А когда дерево меняется (у меня оно меняется в базе, через другие классы), то там есть вызов: Код: plaintext Большое HO: этот атрибут надо убрать у ВСЕХ сессий. Я это могу делать, поскольку в приложении хранится список сессий, формируемый через SessionListener. Поэтому м.б. лучше поколдовать с перегрузкой дерева в самом классе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:55 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Посмотрел я на этот атрибут - shareTreeStructure <sf:JSPTree name="sharedTree" treeFactory = "<%= TestFactory1 %>" startAtDepth="0" imagesPath="<%=imagePath%>" skin="<%=AbstractSkin.FOLDER_SKIN%>" shareTreeStructure="true" templatePath="net/sf/jsptree/example/template/folder/"/> похоже он отвечает за сохранение структуры дерева в сессии, поставил shareTreeStructure="false" - нифига не работает, т.е. не перечитывает дерево каждый раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 15:42 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
я с этим тагом никогда не работал, но если есть исходники, то в чем проблема? Я не думаю, что там тысячи строк кода надо перелапачивать. Максимум пару сотен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 15:50 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Точнее работает так - приходится закрывать экплорер и заходить заново ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 15:57 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
wessenя с этим тагом никогда не работал, но если есть исходники, то в чем проблема? Я не думаю, что там тысячи строк кода надо перелапачивать. Максимум пару сотен. :) да прав ты конечно, все упирается во время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 15:59 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
BobrikТочнее работает так - приходится закрывать экплорер и заходить заново значит данные нужно записывать не в сессию, а в реквест. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 16:00 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Прошу прощения что немного не в тему беседы... Посмотрел я вышеуказанный jsptree и это не совсем то что надо. При каждом открытии/закрытии узла происходит переоткрытие страницы, что не очень то хорошо!!! Есть другие деревья которые при раскрытии узлов не перегружают станицы, а во время загрузки веток выводят текст "Загрузка..." и после динамически меняют представление дерева. Таких скриптов на самом деле много, примеры можно увидеть: http://rsdn.ru/ http://www.softcomplex.com/products/tigra_tree_menu_pro/ Но больше всего мне понравился этот: http://webfx.eae.net/dhtml/xloadtree/demo.html Он по функционалу максимально приближен к стандартному дереву в Windows. В нём реализованы стандартное управление курсорными клавишами, двойной щелчёк мыши и так далее... Но все эти скрипты работают с XML :( То есть надо их как то научить работать с базой... Я попробовал подсунуть вместо ссылки на xml ссылочку на jsp, в которой происходит динамическое формирование xml на основе данных из базы, но такой меотд работает только в IE, а в FireFox и в опере отказывается работать, почему я так и не понял :( Видимо в FireFox и Opera не нравится расширение файла! Если вас заинтересовало это дерево, то может совместно "научим" работать его с базой? Для этого можно открыть новую ветку в форуме или переписываться по почте (по аське), хотя если никто не возражает то можно и сюда! Жду ваши предложения и комментарии! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 08:00 |
|
||
|
Сделать TreeView на jsp странице
|
|||
|---|---|---|---|
|
#18+
Действительно, Html jspTree морально устарело по причине перезагрузки страницы. Но прикручивать microsoft овское дерево тоже не очень хочется. В рамках изучения технологии AJAX хотелось бы сделать это дерево именно используя последний.Имея собственно дерево на джаваскрипте и серверную часть, которая и занимается подгрузкой нод. Можно обратить свой взор сюда: http://wiki.osafoundation.org/bin/view/Projects/AjaxLibraries там что -то говорилость про деревья. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 11:11 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32864603&tid=2151175]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 372ms |

| 0 / 0 |
