在使用VUE.JS构建的网页形式中,使用Axios装载GET请求。
根据表单的某些字段的值,可能会有特殊的字符和重音符号。
例如,如果在姓氏表单字段中,用户写下">Ruíz",则请求如下所示:
http://localhost:9000/someController?surname=Ru%C3%ADz
似乎">í"被转换为%C3%AD
这就是我在Java端的控制器中所拥有的:
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
public SignerQueryResponse getSignerList(
@RequestParam(value = "surname", required = false) String surname,
HttpServletRequest request) {
//... all stuff
}
如何纠正这种情况?
我必须在服务器端放点什么吗。。在Java控制器中??
是否与ISO-8859-1编码有关??
感谢
我找到了一个解决方案,使用org.apache.commons.lang.StringEscapeUtils.unescapeHtml((.
但我不知道是否存在另一个";"清洁剂";,例如基于@annotations。
System.out.println(surname); //This gives me unproper: Ruíz
String unescapedSurname = StringEscapeUtils.unescapeHtml(surname);
System.out.println(unescapedSurname); //This gives me the proper: Ruíz