【问题标题】:Nesting HTTP GET parameters (request within a request)嵌套 HTTP GET 参数(请求中的请求)
【发布时间】:2011-12-04 16:01:33
【问题描述】:

我想在父 JSP 的 GET 参数中调用带有 GET 参数的 JSP。此 URL 为 http://server/getMap.jsp?lat=30&lon=-90&name=http://server/getName.jsp?lat1=30&lon1=-90

getName.jsp 将返回一个字符串,该字符串位于getMap.jsp 的name 参数中。

我认为这里的问题是 URL 末尾的&lon1=-90 将被赋予getMap.jsp 而不是getName.jsp。 有没有办法区分哪个 GET 参数转到哪个 URL?

我的一个想法是对第二个 URL 进行编码(例如 = -> %3D 和 & -> %26),但效果不佳。到目前为止,我最好的想法是在第二个 URL 中只允许一个参数,以逗号分隔。所以我将拥有http://server/getMap.jsp?lat=30&lon=-90&name=http://server/getName.jsp?params=30,-90 并将其留给getName.jsp 来解析其变量。这样我就不用&了。

注意 - 我知道我可以从完全不同的角度解决这个问题,并完全避免嵌套 URL,但我仍然想知道(为了知识!)这是否可能,或者是否有人有搞定了……

【问题讨论】:

    标签: http url parameters get nested


    【解决方案1】:

    这已经做了很多,尤其是在广告服务技术和 URL 重定向方面

    但是编码的 URL 应该可以正常工作。您需要对其进行完全编码。生成器可以找到here

    所以: http://server/getMap.jsp?lat=30&lon=-90&name=http://server/getName.jsp?lat1=30&lon1=-90

    变成这样:http://server/getMap.jsp?lat=30&lon=-90&name=http%3A%2F%2Fserver%2FgetName.jsp%3Flat1%3D30%26lon1%3D-90

    我相信jsp有这个功能。寻找“urlencode”。您的 JSP 会将 GET 变量“名称”的内容视为未编码的字符串:“http://server/getName.jsp?lat1=30&lon1=-90”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-03
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多