Как передать атрибут с нескольких страниц JSP для отображения на странице шаблона плитки

У меня есть файл pageLayout.jsp, в котором изложена основная структура каждой страницы, включая заголовок HTML.


<title>Project Name</title>

Вместо статического заголовка (как выше) я хотел бы передать значение заголовка каждой страницы в шаблон. Например, если на странице JSP, использующей шаблон, элемент H1 отображается следующим образом:


<h1>
    <spring:message code="page.manufacturer.list.title" />
</h1>

, я хотел бы передать значение приведенного выше тега spring:message для отображения в теге title в шаблоне JSP. Пружинное сообщение должно быть перенесено с нескольких разных страниц (каждая из которых содержит свое весеннее сообщение) на одну страницу шаблона.

Каков наилучший способ добиться этого?


person simon    schedule 16.06.2010    source источник


Ответы (3)


mylayout.jsp

<html>
  <head>
    <title><tiles:getAsString name="title"/></title>
  </head>
  <body>
    <tiles:insertAttribute name="body" />
  </body>
</html>

некоторая страница.jsp

<tiles:insertDefinition name="mylayout">
<spring:message code="example.message" var="title"/>
<tiles:putAttribute name="title" value="${title}"/>
<tiles:putAttribute name="body">

...

</tiles:putAttribute>
</tiles:insertDefinition>
person anthavio    schedule 24.08.2010

Разве это не сработает?

<title><spring:message code="page.manufacturer.list.title" /></title>
person JoseK    schedule 16.06.2010
comment
Для одной страницы да, но я искал общий подход, при котором сообщение spring может быть перенесено с нескольких страниц (каждая с другим сообщением Spring) на одну страницу шаблона. Я отредактировал вопрос, чтобы прояснить этот аспект. - person simon; 16.06.2010

Передайте его (в) непосредственно как параметр запроса. Действительно, нет лучшего способа, поскольку HTTP не имеет состояния. Помещение его в сеанс без ключа на основе параметра запроса может работать для одной вкладки/окна, но может привести к нежелательным результатам при использовании нескольких вкладок/окон в одном сеансе браузера.

person BalusC    schedule 16.06.2010