Объяснение определения плитки.Что делают. * И {1}? - PullRequest
1 голос
/ 15 сентября 2011

Я нашел это в существующей конфигурации Tiles. Плитка используется с SpringMVC. Может кто-нибудь объяснить, что это делает?

В основном он перехватывает запросы для всех представлений формы page.* и отображает статическую страницу JSP. Что я не могу понять, это как? Что делает {1}? Он просто заменяет содержимое, представленное *?

Если я хочу отобразить jsp с именем about.jsp, какой вид должен запрашивать контроллер? page.about.jsp или page.about?

Кроме того, на что указывает layout.page.{1}? Я не могу найти папку layout в папке jsp.

<!-- Static pages -->
<definition name="page.*" extends="layout.main">
    <put-attribute name="titleKey" value="title.{1}"/>
    <put-attribute name="body" value="layout.page.{1}"/>
</definition>

Определение макета выглядит следующим образом:

<definition name="layout.main" template="/WEB-INF/templates/mainLayout.jsp"
            preparer="com.company.modules.web.tiles.ABTestViewPreparer">
    <put-attribute name="titleKey" value="Company Archetypical Webapp"/>
    <put-attribute name="backToResults" value="" />
    <put-attribute name="metaDesc" value="meta.description"/>
    <put-attribute name="metaKeywords" value="meta.keywords"/>
    <put-attribute name="header" value="/WEB-INF/templates/header.jsp"/>
    <put-attribute name="searchBar" value="/WEB-INF/templates/blank.jsp"/>
    <put-attribute name="nav" value="/WEB-INF/templates/blank.jsp"/>
    <put-attribute name="ads" value="/WEB-INF/templates/blank.jsp"/>
    <put-attribute name="body" value="/WEB-INF/templates/blank.jsp" />
    <put-attribute name="footer" value="/WEB-INF/templates/footer.jsp"/>
</definition>

Любая помощь приветствуется, я пытаюсь выяснить это из документации Tiles, но просто не ясно, что происходит, и я не хочу взламывать, если я не знаю, что я делаю, потому что я, возможно, не буду возможность вернуться к исходному коду.

1 Ответ

2 голосов
/ 18 сентября 2011

{1} заменяется подстановочным значением, например page.FOO, {1} заменяется на FOO

Так что, если действие отправит пользователя на page.FOO titleKey, оно будет преобразовано ввсе, что title.FOO находится в файле свойств.

...