使用带有Stripes参数的POST方法重定向到另一个站点

时间:2011-08-11 15:37:03

标签: java java-ee stripes

通常我们可以使用条带中的ForwardResolution(路径)重定向到另一个页面,但我想重定向到另一个站点。因此,当我使用ForwardResolution时,它将被解释为

http://localhost:8080/MySiteName/<Address of the other site>

我已阅读this link,但如何在地址中添加参数?我想在POST方法中向该站点提交变量。是否可以在Stripes中使用动作bean?

2 个答案:

答案 0 :(得分:5)

实际上,您无法使用ForwardResolution转到其他网站。 Forward是Servlet容器中的内部概念。您可以做的是RedirectResolution,您可以使用它来向其他站点发送普通的GET查询,包括查询参数。

http://example.com/action?search=thing

但是,这将是一个GET,而不是一个POST。

重定向有效,因为它将URL发送到浏览器,然后浏览器将其重新提交到目标站点。

发送POST的唯一方法是将填充的HTML表单发送到浏览器,action参数指向新站点,方法=“POST”,然后使用一点Javascript自动提交表单一旦页面加载。对于填充隐藏字段的小表单,这是非常快的,大多数用户甚至不会看到它发生,但它确实需要在他们的浏览器中启用javascript。

答案 1 :(得分:1)

技术不同,但answer to this previous question对整体HTTP交换有很好的描述。该答案中提到的策略之一是您在幕后将操作发布到第三方网站,然后重定向到适当的位置。这可以通过HttpClient或HttpURLConnection而不是.NET HttpWebRequest来完成。