escapeXml过滤掉特殊字符

在项目中有时需要在后台将字符串拼接,然后传到前台显示。当在后台拼接的时候比如拼接了特殊字符如@、#、《》,<,>等的时候,传到前台时,和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"/>解决的

猜你喜欢

转载自blog.csdn.net/coding_1994/article/details/80214168