用JSTL将 /n 替换成 之N种解决方案

工作需要,需要用JSTL将从数据库取出的多行文本中的 /n 替换成 <br />。

一、将取出的多行文本放在<pre></pre>标签里

  优点:简单,用HTML解决了问题

  缺点:pre 好象不认CSS样式,这个标签尽忠职守地“保持原样”,连CSS也不认了,这个缺点是致命的

二、纯JSTL方式 <c:out value="${fn:replace(content, '/n', '<br />')}" />

  一运行,会抛出N多错误。

三、JSTL + JSP scriptlet

<%
request.setAttribute("x_n", "/n");
%>

<c:out value="${fn:replace(content, x_n, '<br />')}" />

  优点:简单,易懂,修改方便

  缺点:引用了JSP scriptlet,对于有“洁癖”的程序员是不能容忍的;代码较多。

四、JSTL + JavaBean

  也无新意,不过这样一写,scriptlet没有了,不过修改的话要修改类文件了。

五、使用监听器

  优点:在应用初始化时在application作用域中将 /n 作为一个attribute,代码少,节约资源

  缺点:需要配置XML,修改时需要在类中修改。

六、使用自定义标签

  自定义一个db2html标签,<c:out value="${fnx:db2html(content)}" />

  优点:使用简单,

  缺点:配置较多。麻烦。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值