HT中特殊字符φ如下才能正常显示
<text mode="1" size="1" x="1" y="9">名称:</text>
<text mode="1" size="1" x="6" y="9"><s:property escape="false" escapeXml="true" value="中管φ5.0"/></text>
为什么要设置:escape="false" 和 escapeXml="true" ?
<s:property />默认情况下,escape(即,escapeHtml)为 true,其余的(escapeXml,escapeJavaScript,escapeCvs均为 false)
HTML 支持的特殊字符转实体(entity)或实体还原为特殊字符,非常多,φ就是其中之一
XML支持的特殊字符转实体,或实体转特殊字符只有(>、<、&、'、")对应的(>、<、&、'、")
如下示例说明
1、
<html>
<head></head>
<body>
φ测试一&下看看
</body>
</html>
说明【φ】和【&】都会在HTML解析时自动还原。
2、
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<tt>φ测试一&下看看</tt>
说明【&】都会在XML解析时自动还原。
3、
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<tt>&qui;测试一下看看</tt>
说明:【&qui;】无法被XML解析
而HT在解析的时候是按照XML的规则来解析的,因而为了特殊字符能正常显示就必须设置 escape="false" 和 escapeXml="true" !