|
|
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
Привет Как использовать тайлс с условием, чтобы не плодить лишние страницы. Пример: есть куча страниц у которых структура одинакаво, различается лишь body. Получается, чтобы отобразить одну страницу page.jsp мне нужно создать ещё и pageBody.jsp. Нашел вот такой способ ( в штратс ин екшн): tiles:insert definition="main" flush="true"> <tiles:put name="title" value="Test title :)" /> <tiles:put name="body" type="String"> index body прямым текстом </tiles:put> </tiles:insert> Есть альтернативы ? почему етот способ не популярен (сколько не смотрел примеров, так никто не делает, плодят екстра файлы) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2007, 20:02:06 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
если я вас правильно понял, то взгяните на этото варинт <tiles-definitions> <definition name="mainLayoutDef" path="/common/layout/classicLayout.jsp"> <put name="title" value="Main Tile Page"/> <put name="header" value="/common/header.jsp"/> <put name="navbar" value="/common/navbar2.jsp"/> <put name="body" type="string"/> <put name="news" value="/common/news.jsp"/> <put name="footer" value="/common/footer.jsp"/> </definition> <definition name="q1" extends="mainLayoutDef" > <put name="body" value="/common/someBody.jsp"/> </definition> <definition name="q2" extends="mainLayoutDef" > <put name="body" value="/common/someBody2.jsp"/> </definition> </tiles-definitions> множество типовых решений описано в "Jakarta Struts Cookbook (OReilly)" хорошая теория "Wrox Press - Professional Jakarta Struts - 2004" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 09:36:41 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
brut Вы не правильно поняли автора, он хочет избавиться не от дублирования definition, а от дублирования заголовочных jsp-страниц для каждой body-страницы, в которой и находится основная нагрузка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 10:06:48 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
Сорри, разметка должна быть такой: brutесли я вас правильно понял... Вы не правильно поняли автора, он хочет избавиться не от дублирования definition, а от дублирования заголовочных jsp-страниц для каждой body-страницы, в которой и находится основная нагрузка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 10:08:34 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
извините но об єтом и речь. Стриница одна плодятса только опредиления. в первом опредиление указываем страницу, более она нигде не указывается... тела у нас два, так где дубляж страниц. есть страници только с разметкой (в даном случаэ одна) ы две станици с уныкальным телом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 10:47:40 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
brutизвините но об єтом и речь. Стриница одна плодятса только опредиления. в первом опредиление указываем страницу, более она нигде не указывается... тела у нас два, так где дубляж страниц. есть страници только с разметкой (в даном случаэ одна) ы две станици с уныкальным телом Так, теперь я ничего не понял ... А можно примерчик jsp-странички для вашего примера ? P.S. А можно попросить Вас писать все-таки на русском языке, используя хоть малейшие знания грамматики и фонетики ? - а то смысл Ваших сообщений теряется где-то между "плодятся" и "станици" ... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 11:37:54 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
yanich[quot brut] P.S. А можно попросить Вас писать все-таки на русском языке, используя хоть малейшие знания грамматики и фонетики ? можно, просите. Ответ такой как и вопрос... если вы вместо технической дискусии не будете уходить на другие темы, если не интересно... что ж .. прощайте (руский для меня не родной, прошу прощение за обиду языка, он здесь ни причем... а я не поверю что у вас не получилось прочесть) надеюсь мы не будем уходить от темы... но если это единственная тема которую мы можем поддержать - это не интересно мне ваш смайл не уместен!!! пример classicLayout.jsp Код: 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. body.jsp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. body2.jsp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. tiles-defs.xml Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. struts-config.xml Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. пример не является законченым и готовым к использованию. на одной странице описывается размещения елементов из описания, само описание свазываеться со страницей, а экшены передодят не на страници а на описания, когда сервлет хочет сделать переход он сначала ищет такой tile-definition если находит то идет по пути в xml иначе передает на страницу, (хотя этот процес я могу описывать не точно, если интересно найду книгу). Как результат мы емеем более мение чистый декларативный подход. Значения елементов опредиляются не на странице а в описаниях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 12:30:52 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
brutесли я вас правильно понял, то взгяните на этото варинт <tiles-definitions> <definition name="mainLayoutDef" path="/common/layout/classicLayout.jsp"> <put name="title" value="Main Tile Page"/> <put name="header" value="/common/header.jsp"/> <put name="navbar" value="/common/navbar2.jsp"/> <put name="body" type="string"/> <put name="news" value="/common/news.jsp"/> <put name="footer" value="/common/footer.jsp"/> </definition> <definition name="q1" extends="mainLayoutDef" > <put name="body" value="/common/someBody.jsp"/> </definition> <definition name="q2" extends="mainLayoutDef" > <put name="body" value="/common/someBody2.jsp"/> </definition> </tiles-definitions> множество типовых решений описано в "Jakarta Struts Cookbook (OReilly)" хорошая теория "Wrox Press - Professional Jakarta Struts - 2004" в вашем варианте, чтобы отобразить страницу page.jsp - нужно создать 2 страницы: саму page.jsp с definition q1 и вторую страницу /common/someBody.jsp. Я правильно понимаю ? тогда етот вариант не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 12:41:23 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
ага, теперь понятно :) спасибо, возьму на вооружение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 12:44:04 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
brut Пример хороший, описание понятное - спасибо... И еще один технический вопрос тогда в догонку - не в курсе как использовать такой подход в приложениях JSF c использованием Tiles ? А именно - как задать navigation-rule, ссылающиеся не на jsp-страницы, а на описания ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 12:46:25 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
извините не знаю... к этому еще руки не дошли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 16:32:36 |
|
||
|
Tiles: best practices
|
|||
|---|---|---|---|
|
#18+
И еще один интересный момент tiles, о котором думаю немногие знают. В книжках не пишут - нашел сам путем экпериментов: В качестве значения value можно использовать имя definition-а, а не хардкодить всегда путь к jsp. Т.е. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 17:41:06 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34363275&tid=2146372]: |
0ms |
get settings: |
20ms |
get forum list: |
25ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
37ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 318ms |
| total: | 512ms |

| 0 / 0 |
