从数据库里取值时遇到的换行问题

发表于:2007-07-04来源:作者:点击数: 标签:
最近做论坛遇到一个小问题,发表新的帖子的时候,明明打了回车,插入 数据库 里再取出来,全都是一行,回车根本就没起作用,令人郁闷。 为什么会这样呢? 因为输入文本的时候,换行是用/n,而网页里换行是用br,所以把数据库里存的/n写到网页上就不起作用了

最近做论坛遇到一个小问题,发表新的帖子的时候,明明打了回车,插入数据库里再取出来,全都是一行,回车根本就没起作用,令人郁闷。

为什么会这样呢?

因为输入文本的时候,换行是用/n,而网页里换行是用br,所以把数据库里存的/n写到网页上就不起作用了。

那么我门可以通过一个函数,将/n转换成br。

首先,函数如下,写在声明部分

<%! public String turn(String str){ while(str.indexOf("n")!=-1){ str = str.substring(0,str.indexOf("n"))+"<br>"+str.substring(str.indexOf("n")+1); } while(str.indexOf(" ")!=-1){ str = str.substring(0,str.indexOf(" "))+" "+str.substring(str.indexOf(" ")+1); } return str; } %>

在需要查询数据库的时候,返回一个结果集rs,用turn函数转一下就ok了,比如

<%=turn(rs.getString("text"))%>

挺简单吧!!

大家看到了,上边的函数有两部分,对,也能把空格打出来,功能挺强大吧,呵呵!!

原文转自:http://www.ltesting.net