我的控制器有如下方法:
@ResponseBody
public String test(@RequestParam("r") String r){
String requestURI = request.getQueryString();
// What I want: abc+def%2Cfjg
System.out.println(requestURI.split("=")[1]);
// This is not what I want: abc def,fjg
System.out.println(r);
}
如何让Spring启动知道RequestParameter不能被解码?即不将+转换为空格,%2C转换为逗号等。
答案 0 :(得分:0)
使用解码方法,您可以解码您的网址。
private String decode(String value) {
String decoded
= URLDecoder.decode(value, StandardCharsets.UTF_8.toString());
return decoded;
}
如果要对其进行编码,请使用编码方法。
private String encode(String value) {
String encoded =
URLEncoder.encode(value, StandardCharsets.UTF_8.toString());
return encoded;
}