一般地,如果servlet想要生成含有类如 < 或者 > 等字符的HTML,只需简单地使用标准的HTML字符字体—— < 或者 >。
类似地,如果servlet要在HTML属性值中使用 " 或 & 符号,只需要使用 " 或 &。
如果不做这些替换,最终生成的HTML代码将会不正确,因为 < 或者 > 常常被解释为HTML标记中标签的一部分,属性值中的双引号可能会被解释为属性值的结尾,而 & 符号根本不允许出现在属性值中。
如果用一般的方法在表单中提交 <b>Test 的话,最终的显示结果是 Test(粗体) ,即加粗后的文字。
解决办法是,自己编写一个ServletUtilities类,利用其中的filter方法,将一个字符串中的这些特殊符号转换成标准的HTML字符字体。 <b>Test 也可以正常地显示成 <b>Test。
实现起来比较简单,代码如下:
1 | class ServletUtilities { |

