最近遇到一个问题,写到文本框中的英文单引号一直保存失败,查阅资料后发现,后台没有识别出正确的字符串信息,如str获取值为'you's' 'book' ,传递到前台,保存失败。利用spring的org.springframework.web.util.HtmlUtils包实现。
解决方法:HtmlUtils.htmlEscape 将html中的特殊字符进行转义,单引号转移成为',转以后的符号可以保存到oracle数据库中。图1是常见的几种转义关系。
图1 常见的转义关系利用HtmlUtils.htmlUnescape,将对应的转义符号转换回html样式显示。
具体的参考java代码:
String validateStr = HtmlUtils.htmlEscape ("admin'/alert('1')");
System.out.println(validateStr);
String ss = HtmlUtils.htmlUnescape(validateStr );
System.out.println(ss);
运算结果如下:
admin'/alert('1')
admin'/alert('1')
网友评论