Double escaping HTML / Spring / JSP



这是在html源中呈现的内容:

<li>Confirm Password doesn&amp;#39;t match password./li>

在浏览器上,这被读取为:确认密码不&39;t匹配密码。

这是生成以下内容的代码:

<spring:hasBindErrors name="profileAccount">
  <ul class="errorsList">
    <c:forEach items="${errors.allErrors}" var="error">
      <li><spring:message code="${error.code}"
          text="${error.defaultMessage}"
        /></li>
    </c:forEach>
  </ul>
</spring:hasBindErrors>

如何防止双重逃跑?

感谢

spring:hasBindErrorsspring:message遵守默认的全局HTML转义设置(通过作为上下文参数的defaultHtmlEscape或通过htmlEscape标记)。

最终的结果是,当${error.defaultMessage}被传递到<spring:message>时,它将已经被转义。您可以通过在其中一个上禁用HTML转义来解决此问题(但在另一个上不禁用)。示例:

<spring:message htmlEscape="false" code="${error.code}" text="${error.defaultMessage}"/>

http://static.springsource.org/spring/docs/2.5.x/reference/spring.tld.html#spring.tld.htmlEscape

http://static.springsource.org/spring/docs/2.5.x/reference/spring.tld.html#spring.tld.message

htmlEscape属性。

相关内容

  • 没有找到相关文章

最新更新