日期:2014-05-16 浏览次数:20503 次
? 最近修改了一个老系统。系统用STURTS1 做的 服务端ACTION 获取的消息比较长 输出到JSP 页面后发现没有换行
? 服务端部分代码
?? request.setAttribute(Constants.BIZ_MESSAGE, "提示:纳税人普通发票机打资格信息登记成功!<br>"+message.toString());
return mapping.findForward("enterTaxpayerExport");
? ??输出JSP 页面 用了一个自定义标签显示 输出用 JSTL 显示
? ??<auto:msg id="message" type="1">
<c:out value="${message}" ?/>
? ?</auto:msg>
? ? 显示结果消息没有换行
?在服务端JAVA 代码中折腾了好久 ?换成成 换行符号\n 还是没有效果
最后偶然发现是由于输出JSTL 对原始数据字符串信息加工了
就是escapeXml 属性的问题
后来修改?
<c:out value="${message}" escapeXml="false" />
问题解决
分析是由于escapeXml="false" 设置后 JSTL 将原始数据字符串输出,
其中我后台字符串中有了<BR> 换行了也一并输出,到了HTML 页面显示换行
达到预期效果
平时不经常用的东西有时候很耽误你狠长时间,哎 也怪最近基础不扎实