数据库读出textarea内容页面显示换行问题

以前写了一个简易的新闻发布系统,最近发现一个bug,那就是提交新闻后,显示到页面没有换行和空格了。我采用的数据库是mysql,大家都比较熟悉,jsp后台新闻内容是用<textarea>保存。然后提交到mysql存储,但是从数据库读出数据显示到<p>段落就没有了换行。
  在百度找到了很多方案,最后我选择,做一个字符串的转换。我都知道,编程语言中表示换行是\r 回车是\t 空格是\n,但是HTML中换行是<br>。所以存到数据库中是\r \n,当输出到页面的时候,浏览器是无显示的。因此可以做一个转换。
                 int index=0;
            while((index=content.indexOf("\n"))!=-1)
content=content.substring(0,index)+"<br>"+content.substring(index+1); 
            while((index=content.indexOf(" "))!=-1)         content=content.substring(0,index)+"&nbsp"+content.substring(index+1); 
  
       这样就可以正常显示了。这个方法我已经实践了可以,但是肯定不是最优化的。应为每个jsp显示页面都要添加这样的代码。

posted @ 2013-01-10 08:43  Struts-pring  阅读(705)  评论(0编辑  收藏  举报