在项目中有时需要在后台将字符串拼接,然后传到前台显示。当在后台拼接的时候比如拼接了特殊字符如@、#、《》,<,>等的时候,传到前台时,和html的标签或者其他有冲突,导致不能正常显示。
比如刚刚在后台拼接了几个<br>想用于前台换行,结果用jstl的c:out输出到前台的时候成了[这里写图片描述](https://img-blog.csdn.net/20160323153657057)
在网上找了一下,找到了escapeXml方法。
在<c:out value="后台传值" escapeXml="false" />中加入escapeXml="false"就能阻止这种冲突。
![这里写图片描述](https://img-blog.csdn.net/20160323154512662)
当然,还可以通过下面这种方式解决
首先引入标签
<%@ taglib prefix="fn"uri="http://java.sun.com/jsp/jstl/functions"%>
然后在需要显示的地方写入${fn:escapeXml(后台传值)},这样也能解决。
以上是jstl的解决方法,在struts中是用<s:property value="后台传值" escape="false"/>解决的
escapeXml过滤掉特殊字符
最新推荐文章于 2023-05-27 00:05:19 发布