????????最近遇到一個問題,寫到文本框中的英文單引號一直保存失敗,查閱資料后發(fā)現(xiàn),后臺沒有識別出正確的字符串信息,如str獲取值為'you's' 'book' ,傳遞到前臺,保存失敗。利用spring的org.springframework.web.util.HtmlUtils包實現(xiàn)。
????????解決方法:HtmlUtils.htmlEscape 將html中的特殊字符進行轉(zhuǎn)義,單引號轉(zhuǎn)移成為',轉(zhuǎn)以后的符號可以保存到oracle數(shù)據(jù)庫中。圖1是常見的幾種轉(zhuǎn)義關系。

圖1? 常見的轉(zhuǎn)義關系
利用HtmlUtils.htmlUnescape,將對應的轉(zhuǎn)義符號轉(zhuǎn)換回html樣式顯示。
具體的參考java代碼:
String validateStr = HtmlUtils.htmlEscape?("admin'/alert('1')");
System.out.println(validateStr);
String?ss?=?HtmlUtils.htmlUnescape(validateStr?);??
System.out.println(ss);
運算結(jié)果如下:
admin'/alert('1')
admin'/alert('1')