为所有用户设置了错误的成功转发路径:
我在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。 尽管我知道这不是正确的方法,但是我想在这里理解更多的概念,而不是问题的解决方案。
答案 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。