在项目测试阶段,测试人员会输入一些特殊字符,比如:<table>、<./或<这样的字符时,页面就会出现错误, 如果是导出,导出的Excel也会出现问题,或者直接输出的页面会把用户输入的<、>、&及 都转化成<、>、&及空格,原因是用java代码直接取的并没有对特殊字符做转义。
因为Html中的<,>,&有特殊含义,(前两个字符用于链接签,&用于转义),不能直接使用。使用这三个字符时,应使用它们的转义序列。
& 的转义序列为 & amp 或 & #38;
< 的转义序列为 & lt; & #60;
> 的转义序列为 & gt; & #62;
前者为字符转义序列,后者为数字转义序列。
例如 & lt; font >显示为<font>,若直接写为则被认为是一个链接签。 需要说明的是: a. 转义序列各字符间不能有空格; b. 转义序列必须以“;”结束; c. 单独的&不被认为是转义开始。 d. 区分大小写 另一个需要转义的字符是双引号””,它的转义序列为"或" 这里需要特殊注意的是一定要对&进行转义,有的朋友只对<、>甚至引号转义,但并没有对&进行转义,&是Html转义字符的开始,如果在XML文档中使用类似"<" 的字符,那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以必须要对&进行转义。 解决方法是定义个工具类Tools。
原文链接:https://www.f2er.com/xml/297904.html