在struts中隐藏URL的内容

时间:2011-12-08 08:37:59

标签: java struts2

我想隐藏我网址中附加的参数。 我的行动是从另一个网站(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用户名和密码是可见的,我想隐藏它们

3 个答案:

答案 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

希望它会帮助你