0

我正在寻找在 URL 中编码过滤器参数。我想要一个可读的 URL,所以我想用下划线替换空格。

示例 aston martin 编码为 aston_martin 而不是 aston$0020martin。然后我需要能够将 URL 解码回阿斯顿马丁。

我唯一关心的是搜索参数自然包含下划线。我不确定你会在这个特定的用例中做什么。

我是 Tapestry5 用户,所以我可以选择覆盖 URLEcoder,或者可以使用 java URLEncoder。我只是还没有想出如何让它以我想要的方式对事物进行编码。

任何帮助,将不胜感激。

4

1 回答 1

2

您将 URL 编码与 java.net.URLEncoder 混淆了。不足为奇,也不是你的错。尽管有它的名字,后一个过程是针对 URL参数名称和值的,在 POST 数据中也是如此。只有前者将空间变成 %20。后者将其变为“+”,这是 (a) 对您的过滤器参数执行的正确操作,(b) 可逆,以及 (c) 不像 %20 那样令人反感。不知道你从哪里得到 0020 美元。

于 2012-10-17T23:52:17.927 回答