【发布时间】:2014-05-29 17:09:01
【问题描述】:
我们在下面的 JSTL Taglib 中遇到了一些问题,因为即使输入类型被声明为“隐藏”,有时也会显示在浏览器中
<c:forEach var="homeDesc" items="${homeDescBean.homeCategories}">
<input type="hidden" id='${homeDesc.category}'value='${homeDesc.title}_${homeDesc.experience}_${homeDesc.description}' />
</c:forEach>
查看我们看到的生成的 HTML:
<input type="hidden" id="O2" value="VALUE 16 mq.">
<input type="hidden" id="S3" value="VALUE_VALUE_<br /><div xmlns=" http:="" www.w3.org="" 1999="" xhtml'="">
VALUE THAT SHOULD BE HIDDEN</div>
请注意<br /><div...并非来自我们的代码,而是由JSTL出于某种原因生成的。
【问题讨论】:
-
您是否检查过
homeDesc.title或homeDesc.experience或homeDesc.description中没有可能影响此的奇怪字符?另外,为什么要在隐藏字段中设置(可能很长)描述作为值?这让我对你目前的设计感到好奇。 -
嗨 Luiggi,我们无法看到我们将收到的参数。你有什么建议可以在不使用脚本的情况下解决这个问题吗?
-
使用
<c:out>来处理这个问题。