|
|
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
Пробую использовать displaytag библиотеку. Все классно - но вот проблемка. Не пойму как можно сделать так чтобы после возврата на страницу с таблицей - таблица возвращалась в прежнее состояние. web Приложение написано на struts 1. приложил war архив (см приложение). Конечно же не стал паковать необходимые библиотеки - вот список того чего нет в архиве в папке WEB-INF/lib: antlr.jar commons-beanutils.jar commons-collections-3.1.jar commons-digester.jar commons-fileupload.jar commons-lang-2.1.jar commons-logging.jar commons-validator.jar displaytag-1.1.jar displaytag-export-poi-1.1.jar displaytag-portlet-1.1.jar itext-1.3.jar jakarta-oro.jar jstl.jar log4j-1.2.12.jar poi-2.5.1.jar standard.jar struts.jar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2007, 13:50:03 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
суть приложения очень проста: первой формой вывожу список табличных данных (данные для простоты примера храню в сессии), использую display taglib (классная штука - нутром чую). В таблице применяю сортировку и постраничный вывод по 4 строки на страницу. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ИИИ вот здесь проблемка - если мы на первой странице применяли сортировку по какому-нибудь столбцу и допустим переходили на не первую табличную страницу - скажем 2-ю или 3-ю, то после того как нажмем кнопку Save во второй форме - edit.jsp мы попадаем (в прямом смысле и переносном :) ) на первую Web страницу с табличными данными, НО на первую табличную страницу - скажем первую из трех. - вот в этом и проблема. Как сделать так чтобы после нажатия на кнопку Save мы попадали именно в то состояние в котором были до того как нажали ссылку Edit (т.е. например если были на второй табличной странице из трех, то возвратились бы именно на вторую страницу)? Специально для того чтобы лучше объяснить суть моего вопроса - подготовил этот небольшой пример - вы можете посмотреть прикрепленный выше war файл приложения (нужно будет только добавить необходимый (см. выше) список библиотек) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2007, 14:02:48 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
У меня подобная проблема, только мне нужно было вернуться на страницу после сабмита. Пока только мельком искал решение этой проблемы. Вот в какую сторону нужно смотреть авторhttp://displaytag.sourceforge.net/11/tut_externalSortAndPage.html нужно руками формировать урл или добавлять параметры. Отпишитесь если у вас получиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2007, 14:15:07 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
нашел решение - дейсвтительно самый лаконичный способ это реализация интерфейса PaginatedList. Реализовал свой ArrayList Код: 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. 99. 100. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 08:45:50 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
реализация интерфейса PaginatedList действительно очень проста для paging. Немножко не проста реализация сортировки по столбцам, для этого пришлось реализовывать свой Comparator: [SRC java] package example; import java.lang.reflect.InvocationTargetException; import java.util.Comparator; /** * * @author mirbek * this Comparator class can compare any two same class objects by their same field value */ public class ByFieldNameComparator implements Comparator { private String fieldToCompareName = null; public ByFieldNameComparator() { } public ByFieldNameComparator(String fieldToCompareName) { this.fieldToCompareName = fieldToCompareName; } public int compare(Object o1, Object o2) { if(fieldToCompareName == null) return 0; String getterName = "get" + fieldToCompareName.substring(0, 1).toUpperCase() + fieldToCompareName.substring(1); Object dataToCompare1 = null; Object dataToCompare2 = null; try { dataToCompare1 = o1.getClass().getMethod(getterName, null).invoke(o1, null); dataToCompare2 = o2.getClass().getMethod(getterName, null).invoke(o2, null); } catch(IllegalArgumentException e) { e.printStackTrace(); } catch(SecurityException e) { e.printStackTrace(); } catch(IllegalAccessException e) { e.printStackTrace(); } catch(InvocationTargetException e) { e.printStackTrace(); } catch(NoSuchMethodException e) { e.printStackTrace(); } return ((Comparable) dataToCompare1).compareTo(dataToCompare2); } } [/SRC Конечно он не очень универсален - но для моей задачи сгодится (а если надо будет - всегда можно дописать код) - вывод в displaytag ArrayList'a ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 08:48:44 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
в Comparator'e использовал динамическое формирование вызова к методу: Код: plaintext 1. Ну а потом в Action'е Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 08:51:26 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
еще немного пришлось переписать ActionForm для того чтобы можно было get параметры displaytag сохранять в сессии: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 08:52:53 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
в jsp странице оставил все по прежнему. Конечно решение может быть не очень отточенное - но я думаю всем кто сталкивался с этой проблемой - этот пример будет хорошим подспорьем - ну а дальше - дело кодинга :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 08:54:41 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
сейчас собираюсь сесть и неспеша отточить код - сделать пример более понятным - и для себя и для тех кому это пригодиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 08:56:20 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
привет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 19:20:08 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
Привет. Вопрос есть. Как ты вытягиваешь pageNumber s JSP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 19:21:06 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
yurbarПривет. Вопрос есть. Как ты вытягиваешь pageNumber s JSP? свойство pageNumber устанавливается и считывается механизмом reflection в библиотеке displaytag - я просто создав свой класс paginatedList создал внешний контейнер для хранения данных о состоянии displaytag таблицы - если ты посмотришь в параметры страницы в адресной строке - ты все их увидишь - например http://localhost:8080/cms1/ShowCategories.do?sort=name&dir=desc&page=4 где page - это и есть pageNumber ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 11:27:23 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
whoneedshelp, Йёёёёуууу, подскажите как обеспечить вывод без переноса по символам. Я вывожу число в формате Код: plaintext 1. всё выводится, всё нормально, но он переносит его по словам: автор - 1 000 000.00 р например..... может там есть какая-то возможность??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2009, 05:35:13 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
Николаха пишет: > whoneedshelp, > > Йёёёёуууу, подскажите как обеспечить вывод без переноса по символам. Я > вывожу число в формате > > format="{0,number,#,##0.00} р" > > > всё выводится, всё нормально, но он переносит его по словам: > автор > > - > 1 000 000.00 > р format="{0,number,#,##0.00} р" ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2009, 11:53:58 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
Leshij Николаха пишет: > whoneedshelp, > > Йёёёёуууу, подскажите как обеспечить вывод без переноса по символам. Я > вывожу число в формате > > format="{0,number,#,##0.00} р" > > > всё выводится, всё нормально, но он переносит его по словам: > автор > > - > 1 000 000.00 > р format="{0,number,#,##0.00} р" ? Если это вопрос, то тогда НЕТ у меня там не . поставил---помогло. Но "минус" по-прежнему на другой строке: автор - 1 000 000,00 р Что означает {0,number,#,##0.00} запись!? как я понял последний параметр это вывод с 2 знаками после запятой и ##0 - группировка по 3 символа с урезыванием впереди нолей, т.е. если надо вывести 0, то будет выведено 0,00. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2009, 10:35:06 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
Вот, нашел. CSS white-space:nowrap Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2009, 12:54:06 |
|
||
|
displaytag - восстановление прежнего состояния таблицы
|
|||
|---|---|---|---|
|
#18+
Leshij Вот, нашел. CSS white-space:nowrap Спасибо!!! Пришлось поковырять CSS displaytag'ов!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2009, 03:47:03 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2132286]: |
0ms |
get settings: |
13ms |
get forum list: |
28ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
58ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 332ms |
| total: | 548ms |

| 0 / 0 |
