Struts 1.2中不正确的成功前进路径

时间:2018-08-29 13:07:38

标签: java struts-1 struts1 struts-config

为所有用户设置了错误的成功转发路径:

我在struts配置中有这个:

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

在动作课中,我将“成功”的前进路径更改为 “ www.google.com”,如果用户满足某些条件,则他 正在重定向到那里。

尽管,一旦任何用户满足此条件,所有后续 无论用户是否满意,他们都会被重定向到“ www.google.com” 是否使用条件,因为我们使用的映射名称与 “成功”。

我可以知道原因吗?为什么来自struts config的路径不正确 被其他用户选为“ abc.jsp”?

P.S:如果我重新启动服务器,则它再次可以正常工作,直到任何用户满足条件并设置了“ www.google.com”。

编辑: 我的操作是注销操作,它具有将用户注销到其组织的不同url的功能,基本上,一旦他们从我们的应用程序注销,该类会将他们重定向到其组织的页面,因此它是来自数据库的动态url。 尽管我知道这不是正确的方法,但是我想在这里理解更多的概念,而不是问题的解决方案。

1 个答案:

答案 0 :(得分:0)

更改“成功”前进路径会以编程方式更改整个应用的struts映射。您应该添加一个新的<forward>标签,用于将用户重定向到另一个映射。

例如,我认为您的配置将类似于...

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

然后,您将在actionclass中给出返回结果“ redirect”,以将用户重定向到google。