Java URLEncoding /使用破折号解码URL空间

时间:2012-10-17 22:57:12

标签: java tapestry

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

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

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

我是一个tapestry5用户,所以我可以选择覆盖URLEcoder,或者可以使用java URLEncoder。我还没弄明白如何让它以我喜欢的方式编码。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

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