【问题标题】:Is there any way to set custom headers and make a get request in jsp page without ajax有没有办法在没有ajax的jsp页面中设置自定义标头并发出get请求
【发布时间】:2015-05-06 15:34:29
【问题描述】:

有没有办法从带有自定义标题的jsp页面重定向到spring控制器。 我不想使用 jquery ajax 进行 GET/POST 请求。 我想做一个完整的重定向到另一个页面.. 请帮忙。

【问题讨论】:

    标签: ajax spring servlets


    【解决方案1】:

    也许吧。注意:如果您的 JSP 已经写了一些东西,则无法更改标题,因此“重定向”需要是页面上的第一件事。

    您可以使用jsp:include 包含另一个页面。如果您的 JSP 不输出任何其他内容,那将非常类似于重定向。你可以使用

    <%if(...){%>
        <jsp:include ...>
    <%}else{%>
        ...no redirect...
    <%}%>`
    

    创建替代方案以确保没有任何内容写入输出。

    下一步是从 Spring 获取控制器 bean 并直接调用方法。请注意,您必须复制 Spring 的一系列便利(例如将方法的结果转换为发送到浏览器的字节)。但是 Spring 并没有变魔术。最终一切都是 Java 代码,您只需要手动调用。

    【讨论】:

    • 谢谢。如果没有在输出中写入其他内容,我知道 jsp:include 可用于重定向。然而更大的问题是我如何设置自定义标题。你能帮我一些代码吗,因为这是使用自定义标头调用重定向的主要要求,例如:“测试标头”。我需要传递标头,因为我调用的 URL 需要“测试标头”作为强制参数。
    • 可以使用response.setHeader()来修改表头。但是在做任何其他事情之前你必须这样做,即 JSP 中的第一个字符必须是:&lt;%response.setHeader(。如果在此之前甚至有一个空格或空行,JSP 编译器就会在响应中写入一些内容,并且您不能 100% 确定新的标头可以发送到浏览器。
    猜你喜欢
    • 1970-01-01
    • 2010-11-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 2021-10-14
    • 2013-11-09
    相关资源
    最近更新 更多