org.springframework.web.util.HtmlUtils,特殊字符转义工具类

阅读更多

     很多时候,由于特殊字符的原因,会造成用户输入的信息反馈到页面上时会显示成乱码,造成页面排版混乱;另外,黑客经常利用特殊字符对网站进行xss跨站攻击,所以我们需要对页面上提交的特殊字符进行html转码。

spring提供了一个工具类,org.springframework.web.util.HtmlUtils,省去了我们写工具类对html中的特殊字符进行过滤的麻烦。以下是对该工具类的使用示例:

import org.springframework.web.util.HtmlUtils;
public class HtmpEscapeExample {
    public static void main(String[] args) {
        String specialStr = " #测试转义:#test1;test2
"; // ①转换为HTML转义字符表示 String str1 = HtmlUtils.htmlEscape(specialStr); System.out.println(str1); // ②转换为数据转义表示 String str2 = HtmlUtils.htmlEscapeDecimal(specialStr); System.out.println(str2); //③转换为十六进制数据转义表示 String str3 = HtmlUtils.htmlEscapeHex(specialStr); System.out.println(str3); // ④下面对转义后字符串进行反向操作 System.out.println(HtmlUtils.htmlUnescape(str1)); System.out.println(HtmlUtils.htmlUnescape(str2)); System.out.println(HtmlUtils.htmlUnescape(str3)); } }

             另外,如果直接是用户输入的地方,可以直接过滤,但如果管理员用编辑器来编辑,就会有本来对应格式的HTML呗,这样的话,一般就过滤一些特殊标签,比如

你可能感兴趣的:(spring,HtmlUtils工具类,特殊字符转义,xss)