我正在尝试通过 URL 传递参数值,它适用于大多数值,除非该值包含括号。我已经尝试使用反斜杠 () 来逃避它们,但它似乎不起作用。
这是网址
http://<server>/OpenDocument/opendoc/openDocument.aspx?sViewer=html&sDocName=<DocName>&sType=rpt&promptex-<ParamName>=VALUE_CONTAINING_(PARENTHESIS)
我正在尝试通过 URL 传递参数值,它适用于大多数值,除非该值包含括号。我已经尝试使用反斜杠 () 来逃避它们,但它似乎不起作用。
这是网址
http://<server>/OpenDocument/opendoc/openDocument.aspx?sViewer=html&sDocName=<DocName>&sType=rpt&promptex-<ParamName>=VALUE_CONTAINING_(PARENTHESIS)
我发现该值可以用引号引起来,然后进行 URI 转义。
网址变成
http://<server>/OpenDocument/opendoc/openDocument.aspx?sViewer=html&sDocName=<DocName>&sType=rpt&promptex-<ParamName>=URI_ESCAPE("VALUE_CONTAINING_(PARENTHESIS)")
您正在寻找的是 URL 编码。括号将不是您唯一的问题。因此,对于完整的答案,我建议查看可用的表格http://www.w3schools.com/tags/ref_urlencode.asp
对于您的具体答案:
( = %28
) = %29
&promptex-=VALUE_CONTAINING_(PARENTHESIS) 变为 &promptex-=VALUE_CONTAINING_%28PARENTHESIS%29
然后这将被 servlet 引擎取消编码。