当我升级到struts2-core-2.3.28.1.jar和ognl-3.0.14.jar时,MS-Word不能识别一些特殊的perfect.But字符,比如—被更高版本的struts open.Because <s:property>转义为— jar.But MS-Word无法识别—。例如,我在数据库表中有一个名为"nameAndURL“的字段,其中包含带有url的”-“字符串,如下所示:
vincent—http://localhost/a/http.action?dataFormat=html&ymdhms=20130101000000由于某些原因,我无法将我的数据转换为:
vincent—http://localhost/a/http.action?dataFormat=html&ymdhms=20130101000000或者:
vincent—http://localhost/a/http.action?dataFormat=html&ymdhms=20130101000000jsp代码:
<s:iterator value="nameAndURL">
<w:p wsp:rsidR="00AA5956" wsp:rsidRDefault="00571D82">
<w:pPr>
<w:ind w:left="426" w:first-line-chars="0" w:first-line="0" />
<w:jc w:val="left" />
</w:pPr>
<w:r>
<w:rPr>
<wx:font wx:val="宋体" />
<w:sz w:val="18" />
<w:sz-cs w:val="18" />
</w:rPr>
<w:t><s:property escapeHtml="true"/></w:t>
</w:r>
</w:p>
</s:iterator>问题是,当我使用<s:property value="nameAndURL" escapeHtml="true"/>时,字符—会转义为— MS-Word无法识别。MS-Word的错误代码就像这样:
<w:r>
<w:t>vincent—http://localhost/a/http.action?dataFormat=html&ymdhms=20130101000000</w:t>
</w:r>但是如果我尝试使用<s:property value="nameAndURL" escapeHtml="false"/>,字符“-”将是— MS-Word可以识别的非转义字符,但&将是非转义字符,因为& MS-Word不能recognize.The错误的MS-Word代码,就像这样:
<w:r>
<w:t>vincent—http://localhost/a/http.action?dataFormat=html&ymdhms=20130101000000</w:t>
</w:r>如何使MS-Word能够识别—或&?或者如何让<s:property>不转义—而转义&?为什么在我升级到struts2- — -2.3.28.1.jar和ognl-3.0.14.jar之后,“-”作为核心转义?谢谢你的回答。
发布于 2016-05-04 16:18:51
如果您只想转义&,我建议您在操作中(或在业务层中)使用do it服务器端,而不在页面中转义其余部分。
但是,这样做不太安全,因此您至少应该剥离<script>块。
https://stackoverflow.com/questions/37019146
复制相似问题