我正在尝试通过 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 引擎取消编码。