| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > jsp |
| Автор: 3,14 19.2.2008, 13:18 | ||
что то я совсем запутался. есть обычная стурктура страницы
как сделать чтоб в самих страницах писать только контент, а всё остальное вынести в отдельную страницу... чуствую что taglib нужны, но как, что то не могу понять... никак не найду примеров... |
| Автор: iluvatar 19.2.2008, 14:02 |
| Юзай tiles. |
| Автор: 3,14 19.2.2008, 14:16 |
| iluvatar, |
| Автор: Maksym 19.2.2008, 14:20 |
| 3,14 Если это просто jsp то стандартное средство <%@ include file="MyContent.jsp" %> ... |
| Автор: 3,14 19.2.2008, 14:24 |
| Maksym, хедер то так включишь, а как быть с таблицей, ведь содержание страницы это часть этой таблицы, как и менюшка, к-ая часть общего темплейта... |
| Автор: Maksym 19.2.2008, 14:34 |
| 3,14 То есть ты хочешь параметризовать этот инклюд? |
| Автор: 3,14 19.2.2008, 14:55 |
| Maksym, ну не знаю, поможет ли тут параметризация, те при ней параметром нужно будеть сделть весь контент страницы. А я хочу решить данную проблему, не уверен что include тут поможет... |
| Автор: powerOn 19.2.2008, 14:59 |
| A https://facelets.dev.java.net/nonav/docs/dev/docbook.html не помогут? Сам глубоко в них не разбирался, но идея вроде похожая. |
| Автор: 3,14 19.2.2008, 15:07 |
| powerOn, я их и так использую, но ничего для решения именно этой проблемы в них я не нашёл :( |
| Автор: AlexeyVorotnikov 19.2.2008, 15:28 |
| Что-то я лично не понял в чём проблема? Можно поподробнее? Может, <jsp:include> поможет? |
| Автор: PashaOvechkin 19.2.2008, 15:51 | ||||
Если инклуд статичный, то используем директиву
если содержание хедера или футера меняется в зависимости от параметров, то йсп екшен ->
|
| Автор: Maksym 19.2.2008, 16:03 | ||||
| 3,14 В смысле не нашел? У facelets же именно темплейтная парадигма. Шаблон (template.xhtml):
Страница (page.xhtml):
Добавлено через 3 минуты и 16 секунд Любое количество insert'ов (точек вставки) в темплейте и define'ов (подстановок) в страницах, на месте многоточий -- любой валидный xhtml (который можно расширять tag'овыми библиотеками на базе jsf). Можно делать вложенные темплейты. |
| Автор: Maksym 19.2.2008, 16:27 | ||||||||
| Пример простенькой компоненты в facelets. Типа показывает ошибки валидации формы. В странице:
В custom.taglib.xml (кладется в WEB-INF):
Библиотеку надо не забыть описать в web.xml:
В components/errors.xhtml -- собственно компонента (тут моя конкретная реализация -- не важно, можно все что угодно наваять):
И все -- можно везде использовать. Очень удобно. |
| Автор: 3,14 20.2.2008, 22:20 | ||
PashaOvechkin, include решает проблему далеко не до конца, всё равно на странице остаётся много общих кусков:
Добавлено через 1 минуту и 45 секунд Maksym, похоже это то, что доктор прописал, попробую разобраться... |
| Автор: iluvatar 21.2.2008, 09:06 |
| если юзаешь struts - лучше tiles не найти.. |
| Автор: PashaOvechkin 21.2.2008, 11:02 |
| Если честно, для меня загадка почему "include решает проблему далеко не до конца"? Во всех проектах, в которых участвовал, именно етими способами решались подобные проблемы. |
| Автор: 3,14 26.2.2008, 23:13 |
| PashaOvechkin, а как ты при помощи include-ов в моём примере сделаешь чтоб на страницах не содержалось много общих кусков, к-ые можно вынести в один шаблон? |