Как динамически установить значение входного атрибута в теге действия — Struts-config.xml (Struts 1.2)

В файле struts-config.xml элемент действия имеет входной атрибут, который используется, когда метод проверки формы действия возвращает некоторые ошибки.

<action
  path="/somepath"
  attribute="someForm"
  input="/some.jsp"
  name="someForm"
  parameter="status"
  scope="request"
  type="cn.mycompany.struts.action.SomeAction"/>

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

Как я могу это сделать, пожалуйста, помогите мне. Я использую версию Struts 1.2.


person Chinni    schedule 09.11.2012    source источник


Ответы (1)


Все, что вам нужно сделать, это снова отобразить действие. Одно сопоставление для каждого необходимого ввода.

<action
path="/somepath"
attribute="someForm"
input="/some.jsp"
name="someForm"
parameter="status"
scope="request"
type="cn.mycompany.struts.action.SomeAction"/>

<action
path="/somepath2"
attribute="someForm"
input="/some2.jsp"
name="someForm"
parameter="status"
scope="request"
type="cn.mycompany.struts.action.SomeAction"/>
person Th0rndike    schedule 09.11.2012
comment
В моем случае путь, атрибут, имя, параметр и т. д. являются общими. кроме входного значения. Нельзя идти на компромисс при использовании разных действий для каждого значения входного пути. Пожалуйста, дайте мне знать, могу ли я установить значение, используя некоторые выражения или действия во время проверки. С уважением - person Chinni; 09.11.2012
comment
Почему нельзя использовать другой путь? вам не нужно переписывать контроллер, все, что вам нужно сделать, это сопоставить один и тот же контроллер с двумя разными путями, каждый со своим собственным вводом, и вызвать действие в зависимости от того, какую страницу вы хотите вернуть при сбое проверки. Вместо того, чтобы изменить ввод, вы вызываете другой путь, это то же самое. - person Th0rndike; 09.11.2012
comment
В порядке!!! Позвольте мне объяснить вам мою проблему. Мы находимся в процессе преобразования нашего приложения в новый внешний вид и ощущения. Здесь все то же самое, за исключением JSP. Мы будем работать на основе модуля за модулем одновременно. Старый код должен работать так же, как и новый код. Таким образом, мы не можем пойти на компромисс при изменении путей действий. С Уважением. - person Chinni; 09.11.2012
comment
@PurushothamReddyP, как только вы закончите с ответом, опубликуйте его, я тоже сталкиваюсь с такой же ситуацией. - person Java Questions; 21.11.2012
comment
@Anto: Извините, я наконец обнаружил, что Struts не позволит нам изменить это. Единственная альтернатива, которая у меня была, — создать New Struts-configNew.xml и иметь мои определения для New JSP в этом XML-файле. Мы почти закончили с изменениями. Любые входы приветствуются - person Chinni; 08.04.2013