как вставить гнездо плитки - PullRequest
0 голосов
/ 01 марта 2011

Привет: Я знаю, как вставить атрибут и определение в страницу JSP, но я не могу вставить вложенные плитки.

Это пример:

    <definition name="/commonPage" template="/jsp/common/template.jsp">
        <put-attribute name="header" value="/jsp/common/defaultHeader.jsp" />
        <put-attribute name="menu" value="/jsp/common/defaultMenu.jsp" />
        <put-attribute name="footer" value="/jsp/common/defaultFooter.jsp" />
    </definition>


    <definition name="/all" extends="/commonPage">
        <put-attribute name="body" value="/jsp/all_body.jsp" />
        <put-list-attribute name="scriptList">
            <add-attribute value="/res/script/all.js" />
        </put-list-attribute>
    </definition>

    <definition name="/time" extends="/commonPage">
        <put-attribute name="timebar" value="/jsp/common/timebar.jsp" />
        <put-attribute name="body" value="/jsp/time_body.jsp" />
        <put-list-attribute name="scriptList"></put-list-attribute>
    </definition>

</tiles-definitions>

А в tempalte.jsp:

....
<tiles:insertAttribute name="meun">
...
<tiles:insertAttribute name="footer">

Теперь в time_body.jsp я хочу вставить еще один jsp - timebar.jsp.

Итак, я определяю атрибут в определении «/ time», однако он не работает.

Это коды в time_body.jsp:

<div class="div_fullwidth">
    <tiles:insertAttribute name="timebar" />
</div>

Есть идеи?

1 Ответ

1 голос
/ 01 марта 2011

Получали ли вы какие-либо сообщения об ошибках при попытке сделать это?

Отредактировано: Итак, это моя конфигурация плиток - я использую пружину:

Базовая раскладка - содержит общую структуру раскладкибез содержания страницы в теге body:

<tiles-definitions>

<definition name="default" template="/WEB-INF/layouts/default.jspx">
    <put-attribute name="leftmenu" value="/WEB-INF/layouts/partial/leftmenu.jspx" />
    <put-attribute name="footer" value="/WEB-INF/layouts/partial/footer.jspx" />
    <put-attribute name="subheader" value="/WEB-INF/layouts/partial/subheader.jspx" />
    <put-attribute name="seoheader" value="/WEB-INF/layouts/partial/seoheader.jspx" />
</definition>
    </tiles-definitions>

Просмотры страницы:

<tiles-definitions>
<definition extends="default" name="advice/list">
    <put-attribute name="body" value="/WEB-INF/views/advice/list.jspx"/>
</definition>
</tiles-definitions>

Так что в этом представлении страницы "совет / список" я хочу добавить новый частичный IЯ сделаю это:

<put-attribute name="timebar" value="/WEB-INF/layouts/partial/timebar.jspx" />

А затем я просто назову атрибут в шаблоне совета / списка.

  1. Можете ли вы проверить, правильно ли вы задали определения плиток в своемФайл WEB-INF / web.xml.
  2. Поскольку вы не найдены, попробуйте изменить определение пути атрибута template .

btw:Я использую эту зависимость в моем pom.xml

<dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>com.springsource.org.apache.tiles</artifactId>
   <version>2.1.3</version>
</dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...