【问题标题】:Redirect to another site using POST method with parameters in Stripes使用带有 Stripes 参数的 POST 方法重定向到另一个站点
【发布时间】:2011-08-11 15:37:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: java jakarta-ee stripes


    【解决方案1】:

    实际上,您不能使用 ForwardResolution 转到另一个站点。 Forward 是 Servlet 容器中的一个内部概念。你可以做的是一个 RedirectResolution,你可以用它来发送一个普通的 GET 查询到另一个站点,包括查询参数。

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-08
        • 1970-01-01
        • 2019-11-14
        • 1970-01-01
        • 2012-09-19
        • 2015-10-25
        相关资源
        最近更新 更多