Struts - Какие изменения необходимы для добавления нового JSP? - PullRequest
1 голос
/ 26 октября 2010

Я делаю изменения в существующем веб-приложении на основе Struts1, которое уже состоит из различных форм и действий.

Я пытаюсь сделать

  • Добавьте несколько страниц для мобильной версии веб-сайта.
  • Например, я хочу добавить страницу JSP, содержащую форму с несколькими полями (такую ​​же, как на ПК).версия) с кнопкой отправки.При отправке я хотел бы вызвать тот же класс ACTION, который обрабатывал форму в версии для ПК.

Возможно ли это?Пожалуйста, укажите мне любые ссылки, которые объясняют выше.


Edit1:

несколько строк из моих struts-config.xml action-mappings .

  <action path="/signupPC"
          name="signupPCForm"
          validate="true"
          input="/signupFailedPC.jsp">
      <forward name="success" path="/signupSuccessPC.jsp" />
      <forward name="failure" path="/signupFailedPC.jsp" />
  </action>


@ Натан Как мне добавить мобильных страниц сюда?

Должен ли я добавить новый путь действия =" / signupMobile " здесь?- что означает добавление signupMobile.do " method = "post"> в мой мобильный jsp?

Надеюсь, мне не нужно добавьте новый компонент Form , так как я хотел бы использовать тот же Form.java, предназначенный для версии для ПК.

Ответы [ 2 ]

2 голосов
/ 27 октября 2010

Натан рассказал вам все, что вам нужно знать, я просто добавляю пример того, как я бы написал файл struts-config:

 <action path="/signup" 
      name="signupForm" 
      validate="true" 
      input="/signup.jsp"> 
      <forward name="successPC" path="/PC/signupSuccess.jsp" /> 
      <forward name="failurePC" path="/PC/signupFailed.jsp" />
      <forward name="successMobile" path="/mobile/signupSuccess.jsp" />
      <forward name="failureMobile" path="/mobile/signupSuccess.jsp" />
 </action>

Вы будете вызывать то же действие (метод Java).класса), и в зависимости от устройства, вызвавшего метод, вы перейдете к веб-страницам об успехе на ПК или о мобильных достижениях.

1 голос
/ 26 октября 2010

В вашем Struts-config у вас есть набор элементов отображения действий.Для каждого actionMapping у вас есть один или несколько элементов forward.Каждый форвард отображает относительный URL в приложении на строку.Добавьте переадресацию для мобильного телефона в отображение действий.ActionMapping имеет одну запись для каждой пересылки для этого сопоставления, вы ищите их по строковому идентификатору, который вы даете ему в struts-config.Затем в вашем действии вам понадобится код для извлечения правильного ActionForward из ActionMapping в зависимости от того, вызывается ли действие с URL-адреса ПК или мобильного URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...