Неправильный успех прямого пути в стойках 1.2 - PullRequest
0 голосов
/ 29 августа 2018

Для всех пользователей задан неверный путь пересылки:

У меня есть это в конфигурации Struts:

<action path="/abc" type="com.actionclass">
  <forward name="success" path="/jsp/user/abc.jsp" />
</action>

В своем классе действий я изменил прямой путь успеха "www.google.com", если пользователь удовлетворяет некоторым критериям, а затем он перенаправляется туда.

Хотя, как только любой пользователь удовлетворяет этому критерию, все последующие пользователи перенаправляются на "www.google.com", независимо от того, удовлетворяют ли они критерии или нет, потому что мы используем то же имя сопоставления, что и "Успех".

Могу ли я узнать причину этого? Почему путь из конфига Struts не является быть выбранным как "abc.jsp" для других пользователей?

P.S .: Если я перезагружаю сервер, то он снова работает нормально, пока какой-либо пользователь не удовлетворяет критериям, и не будет установлен "www.google.com".

Edit: Мое действие - это действие по выходу из системы, и оно имеет функцию выхода пользователей из системы с различными URL-адресами их организации, в основном, когда они выходят из нашего приложения, этот класс перенаправляет их на страницу своей организации, поэтому это динамический URL-адрес, поступающий из базы данных. Хотя я знаю, что это не правильный путь, но я хочу понять концепцию здесь больше, чем решение проблемы.

1 Ответ

0 голосов
/ 29 августа 2018

Изменение прямого пути «успеха» программно меняет отображение распорок для всего приложения . Вы должны добавить новый тег <forward> для перенаправления пользователей на другое сопоставление.

Например, я думаю, что ваш конфиг будет что-то вроде ...

<action path="/abc" type="com.actionclass">
   <forward name="success" path="/jsp/user/abc.jsp"/>
   <forward name="redirect" path="www.google.com"/>
</action>

Тогда вы дадите обратный результат "перенаправления" в вашем actionclass, чтобы перенаправить пользователей в Google.

...