Форма мастера в Struts - PullRequest
       8

Форма мастера в Struts

1 голос
/ 06 января 2011

Я создаю мастера в Struts.Это содержит 4 шага.Для каждого шага у меня есть отдельный класс ActionClass: -

  • Step1Action.java
  • Step2Action.java
  • Step3Action.java
  • Step4Action.java

и в каждом классе есть 2 метода input () и process () .

  • input () метод для отображения страницы в режиме ввода
  • process () метод будет использоваться для обработки отправленных данных (если проверка в порядке)

Я несу все данные до последнего шага в сеансе.И сохраняя их все в базе данных на последнем шаге

Similaly 4 тега действия в struts.xml, например: -

    <action name="step1" class="com.mycomp.myapp.action.Step1Action1" method="input">                       
      <result name="success" type="redirectAction">step2</result>   
      <result name="input">/view/step1.jsp</result>     
    </action>

    <action name="step2" class="com.mycomp.myapp.action.Step1Action2" method="input">                       
      <result name="success" type="redirectAction">step3</result>   
      <result name="input">/view/step2.jsp</result>     
    </action>

Но я думаю, что я ошибаюсь.Пожалуйста, скажите мне, как я буду обращаться с этим делом?

Ответы [ 2 ]

2 голосов
/ 07 января 2011

Если вы пытаетесь разработать какую-то волшебную функциональность, то в Struts уже есть перехватчик2 для того же Sceptre Interceptor вот подробности для того же http://struts.apache.org/2.0.14/docs/scope-interceptor.html

2 голосов
/ 06 января 2011

Здесь что-то концептуально не так - и концептуальная ошибка лежит перед сценарием мастера.

С одной стороны, действие Struts2 не должно (обычно) иметь метод ввода.Действие Struts2 должно ДЕЛАТЬ НЕЧТО (метод) от имени клиентского запроса (URL) и возвращать РЕЗУЛЬТАТ (строку), который возвращает клиенту новый VIEW (страница jsp).

«вход» - это (обычно) просто РЕЗУЛЬТАТ, соответствующий случаю «Я не могу сделать то, что должен делать я (действие), потому что введенные данные неполные или недействительные;Пользователь попытается ввести данные снова "

Вы должны быть уверены, что понимаете простейшие варианты использования (типичная форма ввода с сообщением о результате), прежде чем пытаться выполнить мастер.Смотри здесь .

...