在Spring输入中显示ascii值

时间:2017-06-09 10:07:58

标签: spring jsp ascii quote

使用弹簧形式,我们显示如下输入:

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
 ...
<form:input type="text" cssClass="w50" path="lastName" cssErrorClass="w50 error" placeholder="${msgLastName}" />

有时,用户的姓氏值可能会包含单引号,例如&#34; Job&#39;&#39;。这个问题是我们使用OWASP HTML项目清理姓氏,这导致姓氏为

Job&#39;s

当输入显示在浏览器中时,也会显示ascii值 - 这很糟糕。我想简单地展示&#34; Job&#34;&#34;进入输入。

我使用简单的JSP输入进行测试,例如

<input type="text" cssClass="w50" value="${myobject.lastName}" cssErrorClass="w50 error" placeholder="${msgLastName}" />

在这种情况下,渲染很好。

我的结论是问题来自春天,但如何避免呢?

1 个答案:

答案 0 :(得分:0)

终于找到了答案。

Spring HTML-escape the values,它并没有真正输出

Job&#39;s

Job&amp;#39;s

由于存在HTML字符,因此不会将其解析为ascii。

使用Chrome,如果我检查DOM,我看不到

&amp; 

但如果我“编辑为HTML”,那么我就会看到它。