石头JAVA摆地摊儿

JAVA所有的讨论-要一点一点的进步

  BlogJava :: 首页 ::  :: 联系 ::  :: 管理 ::
  30 随笔 :: 0 文章 :: 11 评论 :: 0 Trackbacks

工作需要,需要用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)}" />

  优点:使用简单,

  缺点:配置较多。麻烦。

posted on 2008-05-20 07:03 石头JAVA摆地摊儿 阅读(431) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: