Невозможно получить выходные данные на странице JSP с помощью структуры плиток - PullRequest
1 голос
/ 26 марта 2012

Я создал проект, используя Struts2 и Spring Framework.Сейчас я пытаюсь отделить динамический контент с помощью фреймворка.Макет состоит из заголовка и тела.Заголовок, в свою очередь, содержит Welcome xyz (имя зарегистрированного пользователя), а часть тела содержит табличный список людей, заполняемых из моей базы данных при запуске.

Ниже приведен код макета моей Tiles

Layout.jsp

<body>
<tiles:insertAttribute name="header"/>
<tiles:insertAttribute  name="body"/>
</body>

tile.xml

<tiles-definitions>
    <definition name="baseLayout" template="layout.jsp">
        <put-attribute name="header" value="welcome.jsp"/>
        <put-attribute name="body" value=""/>
    </definition>
    <definition name="addToListLayout" extends="baseLayout">
        <put-attribute name="body" value="addEmployee.jsp"/>
    </definition>
</tiles-definitions>

Но после входа в систему я получаю следующий вывод на jsp:-


welcome.jsp addEmployee.jsp


Может кто-нибудь сообщить мне, почему я получаю имена jsp, а не содержимое?

1 Ответ

1 голос
/ 29 мая 2012

Проблема в том, что плитки не интерпретируют ваши атрибуты как шаблоны, а интерпретируют их как строки.Из документа плитки :

Этот тег можно гибко использовать для вставки значения атрибута на страницу.Как и в других случаях использования Tiles, каждый атрибут может быть определен как «тип», либо установленный явно, когда он был определен, либо «вычислен».Если тип не является явным, то если значение атрибута является допустимым определением, оно будет вставлено как таковое. В противном случае, если он начинается с символа «/», он будет рассматриваться как «шаблон» .Наконец, если ему не был назначен тип, он будет обрабатываться как строка и включаться без какой-либо специальной обработки.

Таким образом, вы можете изменить свой тег в tile.xml на любой из следующих:

<put-attribute name="header" value="/welcome.jsp"/>

или это:

<put-attribute name="header" type="template" value="welcome.jsp"/>
...