我想隐藏我网址中附加的参数。 我的行动是从另一个网站(URL重定向)
https://myserver/web/myaction.do?username=jhon&password=1234
关于此操作我只需重定向到jsp
<action name="myaction" class="ncom.company.project.Head">
<result>/pages/HelloWorld.jsp</result>
</action>
我的jsp用户名和密码是可见的,我想隐藏它们
答案 0 :(得分:4)
我猜你的意思是参数不应该在URL中可见,对吧?如果是这样,你应该做一个真正的重定向,你正在做的是实际的前进。
在Struts 2中,您将使用“重定向”结果类型将重定向发送到浏览器。参数应仍在您的会话/操作上下文中。
答案 1 :(得分:1)
我建议您使用POST请求。据我所知,您正在发送GET请求。这就是为什么你可以看到URL中的参数。我认为这不是特定于struts的问题。它是HTTP的一部分。只需让其他网站使用POST请求即可。 您可能也想看看here以找出两种方法的用法。
答案 2 :(得分:0)
你可以在这里做两件事,就像重定向一样,但在这种情况下,它意味着在值堆栈中创建一个新的请求对象和一个新的动作实例。
我相信一旦应用程序到达myaction
,一旦完成了工作,您可以通过传递任何您需要的参数(如果有的话)来使用redirectAction
。
但请注意,即使redirectAction也会创建一个新的请求周期,您可以使用redirectAction,如
<action name="myaction" class="ncom.company.project.Head">
<result type="redirectAction">
<param name="actionName">redirectAction</param>
// any parameter you want
</result>
</action>
<action name="redirectAction">
<result>/pages/HelloWorld.jsp</result>
</action>
这里有redirectAction的更多细节 Redirect Action
希望它会帮助你