jsp断行的问题!!!(100分)

  • 主题发起人 主题发起人 jinsfu
  • 开始时间 开始时间
J

jinsfu

Unregistered / Unconfirmed
GUEST, unregistred user!
我用jsp做一留言板,从textarea中提交文本到数据库,为了正常显示,我将/n替换成<br>。
所用函数如下:
<%!
//处理文章的断行
public String addbr(String content){
String makecontent=new String();
StringTokenizer StrT=new StringTokenizer(content,"/n");
while(StrT.hasMoreTokens()){
makecontent=makecontent+StrT.nextToken()+"<br>";
}
return makecontent;
}
%>
为了给用户提供修改的功能,我需要将文本重新显示在textarea中,我想将<br>替换回/n,,
函数如下:
<%!
public String cutbr(String str){
String cutstr=new String();
StringTokenizer stn=new StringTokenizer(str,"<br>");
while(stn.hasMoreTokens()){
cutstr=cutstr+stn.nextToken()+"/n";
}
return cutstr;
}
对于全是中文的文本,可以在textarea中正常显示, 但是如果文本中有b或者r这两个英文
字符,显示的时候就会在这两个字符的位置上换行!
例如:
web服务器
在textarea中显示的时候就变成:
we
服务器
请高手指点!!!
 
哦,不需要加入什么换行的东西,全部写入数据库,你可看看我给公司写的站点:
中的技术文档与市场指南部分,它们都是从数据库中读出来的
 
lql0459,我去看了。 那里面什么也没有!!!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1044577
 
snjat, 不行啊, 和我这个问题好像不太一样!谢谢你!!
高手们!!!赶快帮帮忙啊!!!我的问题说的不清楚吗??
 
我一般是这么解决的:将数据放入数据库的时候不将/n转化掉,读出显示在网页上的时候再将其转化为
<br>,代码:
import java.io.*;
public class CovertToHtml {
public String getHtml(String str){
StringBuffer strb=new StringBuffer();
for(int i=0;i<str.length();i++){
if(str.charAt(i)=='/n'){
strb.append("/n<BR>");
}
else
{
strb.append(str.charAt(i));
}
}//for
return strb.toString();
}
}
 
回车不用替换,其他的“<”、“>”之类的才替换掉
用pre包围起来,比如:
<pre>
aaaa
bbbbb
</pre>
他是按原来的换行显示的,不用<br>也能换行
 
感谢蓝色虾!
 
后退
顶部