Как динамически изменять значения атрибутов плитки 3 с помощью struts 2?

У меня есть следующий код в моем файле tiles.xml.

У меня есть действие Struts2, которое получает данные из базы данных и заполняет sidebar.jsp в определении показа. Я снова использую другой метод того же действия для другой работы, и на этот раз я заполняю определение представления списка, но мои предыдущие данные siderbar.jsp не сохраняют свое значение.

Я застрял на этом в течение недели, пожалуйста, помогите мне.

   <definition name="baseLayout" template="/jsp/baseLayout.jsp">
      <put-attribute name="header" value="/jsp/header.jsp"/>
      <put-attribute name="menu"   value="/jsp/menu.jsp"/>
      <put-attribute name="body"   value="/jsp/body.jsp"/>
      <put-attribute name="sidebar"   value="/jsp/sidebar.jsp"/>    
      <put-attribute name="footer"   value="/jsp/footer.jsp"/>
   </definition>

   <definition name="show" extends="baseLayout">
      <put-attribute name="body"   value="/jsp/body.jsp"/>
   </definition>

   <definition name="listview" extends="baseLayout">
      <put-attribute name="body"   value="/jsp/listview.jsp"/>
   </definition>

person ammad    schedule 28.03.2013    source источник
comment
Что именно вы пытаетесь сохранить? Покажите какой-нибудь код.   -  person Aleksandr M    schedule 28.03.2013


Ответы (1)


Насколько я понимаю, sidebar.jsp — это JSP, который содержит данные для боковой панели. Проверьте значение объекта, который используется для заполнения JSP.

 I again hit another method of same action for another work and this time
 I populate list view definition but my previous data of siderbar.jsp does not
 retain its value.

Когда вы нажимаете другое действие, все переменные действия снова инициализируются, что может быть причиной того, что ваш sidebar.jsp не может сохранить предыдущие данные.

Одним из простых решений было бы хранить данные, относящиеся к sidebar.jsp, в сеансе.

Надеюсь это поможет :)

person Code2Interface    schedule 28.03.2013
comment
Я думаю, что это не лучшее решение, чтобы сохранить его в сеансе. Есть ли другой способ прагматически изменить значение атрибута определения в тайлах. - person ammad; 28.03.2013
comment
Используя плитки 3, вы можете извлекать значения из запроса определения плиток с помощью подстановочных знаков и передавать их в представление в качестве параметра (используемого в выражении). Оттуда вы можете условно обрабатывать свои меню. См.: stackoverflow.com/questions/16116142/ В этом примере показано определение плитки, в котором используется регулярное выражение, но не показано, как с ним обрабатывать меню. - person Quaternion; 27.04.2013