Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / templating with tiles / 5 сообщений из 5, страница 1 из 1
19.01.2012, 20:24:45
    #37623149
msangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
templating with tiles
Я не думаю, что то что я хочу сделать - сложно. Однако я в растерянности, т.к. не знаю, как сформировать запрос в поиске.

Задача:
Основной файл:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<tiles:insert page="/layouts/Switcher.jsp"  flush="false">
    <tiles:put name="body" type="string">
        asdasdasdasdasdasd <tiles:put name="thisone"/> !!!!!
    </tiles:put>
    <tiles:put name="one"  type="string">
        111
    </tiles:put>
    <tiles:put name="two"  type="string">
        222
    </tiles:put>
</tiles:insert>



Файл: /layouts/Switcher.jsp
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<tiles:insert attribute="body" ignore="true">
    <tiles:put name="thisone" type="string">
        <tiles:getAsString name="one" ignore="true"/>
    </tiles:put>
</tiles:insert>
<tiles:insert attribute="body" ignore="true">
    <tiles:put name="thisone" type="string">
        <tiles:getAsString name="two" ignore="true"/>
    </tiles:put>
</tiles:insert> 



Получаемый вывод:
asdasdasdasdasdasd !!!!!
asdasdasdasdasdasd !!!!!
Т.е. тег <tiles:put name="thisone"/> обрабатывается на первой странице(и т.к. там пусто - ничего не выводит) вместо того чтобы подставляться на второй странице.


Ожидаемый вывод:
asdasdasdasdasdasd 111 !!!!!
asdasdasdasdasdasd 222 !!!!!
...
Рейтинг: 0 / 0
23.01.2012, 22:15:32
    #37627978
msangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
templating with tiles
Ладно.

Поставлю вопрос по другому:
какими еще средствами можно сделать такое шаблонизирование?
На уме только MessageFormat. Но для его нормального использования наверное придется писать собственный тег.
Еще варианты?
Velocity предлагать в последнюю очередь.
...
Рейтинг: 0 / 0
23.01.2012, 23:18:38
    #37628028
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
templating with tiles
JSP, custom tags, точнее tag files.
...
Рейтинг: 0 / 0
25.01.2012, 20:59:57
    #37631687
msangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
templating with tiles
vas0, не понял как его прикрутить - у них же разные области видимости.... можно небольшой пример?
тема все еще актуальная
...
Рейтинг: 0 / 0
25.01.2012, 22:23:36
    #37631761
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
templating with tiles
msangel,

Честно говоря я не сильно понимаю что тебе нужно получить. Tiles-ом последний раз пользовался лет 8 назад. После выхода J2EE 1.4 (JSP 2.0), там уже есть достаточно много для создания templates.

авторОжидаемый вывод:
asdasdasdasdasdasd 111 !!!!!
asdasdasdasdasdasd 222 !!!!! Например создаешь custom tag (web/WEB-INF/tags/util/sample.tag)
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
<%@ tag body-content="empty" %>

<%@ attribute name="prefix" required="true" type="java.lang.String" %>
<%@ attribute name="one" required="true" type="java.lang.String" %>
<%@ attribute name="two" required="true" type="java.lang.String" %>

<br/>${prefix}&nbsp;${one} !!!
<br/>${prefix}&nbsp;${two} !!!



потом его используешь в JSP (web/index.jsp)
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="util" tagdir="/WEB-INF/tags/util" %>
<html>
<head><title>Simple jsp page</title></head>
<body>
    Tag files <util:sample prefix="asdasdasdasdasdasd" one="111" two="222"/>
</body>
</html>




Второй пример (посложнее). Создаешь custom tag, шаблон страницы (web/WEB-INF/tags/ui/page.tag)
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<%@ tag body-content="empty" %>

<%@ attribute name="head" required="true" fragment="true" %>
<%@ attribute name="body" required="true" fragment="true" %>

<html>
<head>
    <jsp:invoke fragment="head"/>
</head>
<body>
    <jsp:invoke fragment="body"/>
</body>
</html>



Ну а потом все твои стриницы создаешь на основе этого шаблона (web/index.jsp)
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="ui" tagdir="/WEB-INF/tags/ui" %>

<ui:page>
    <jsp:attribute name="head">
        <title>Title</title>
    </jsp:attribute>
    <jsp:attribute name="body">
        Body content
    </jsp:attribute>
</ui:page>
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / templating with tiles / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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