Как разделить JSP-файл на другой дочерний подфайл, который будет использоваться несколькими родительскими файлами - PullRequest
2 голосов
/ 06 августа 2011

Недавно я столкнулся с ситуацией, которая описывается следующим образом:

У меня есть класс действий Struts, например, скажем A. Допустим, что соответствующий файл JSP является show.jsp Теперь у меня есть требование показать некоторые дополнительные вещи в файле jsp, поэтому я расширил класс действий struts и новый класс, называемый B, но я использую тот же show.jsp. Но я передал дополнительный параметр в show.jsp и проверяю в show.jsp, как показано ниже, чтобы показать соответствующее содержимое

         if(popo){ 
             @include "popo.jsp".
         }else{
             @include "original content present before the requirement."
         }

Недавно у меня появилось еще одно требование, например, новый класс действий Struts C, который также использует show.jsp для рендеринга html, но новое требование и предыдущее требование имеют несколько похожий html-контент. Итак, теперь мой код выглядит как

          if(popo || jojo){ 
             @include "popo.jsp".
         }else{
             @include "original content present before the requirement."
         }

но внутри popo.jsp я снова проверяю как

              if(jojo){
              }else{
              }

потому что я хочу, чтобы не все вещи из попо отображались для jojo

Я хотел бы знать, если это хорошая практика, чтобы делать такие вещи. Это становится грязным каждый день. Есть ли способ, которым я могу сделать вещи чище .?

1 Ответ

0 голосов
/ 07 августа 2011

Такая логика лучше управляется в контроллере, а не в JSP.Вы можете использовать разные дисплеи, используя SiteMesh или Tiles, и позволить контроллеру выбрать подходящий в зависимости от условий.

Еще один способ управления им - с помощью jQuery.Используйте его, чтобы скрыть / показать <div> на основе данных.

...