問題描述: 表單中的textArea中有換行的內容,提交之後保存到數據庫,再讀取出來的時候,沒有換行,全部連在一起了。
解決方法:
第一種:寫一個類
public static String toHTMLString(String in) {
StringBuffer out = new StringBuffer();
for (int i = 0; in != null && i < in.length(); i++) {
char c = in.charAt(i);
if (c == '/ ' ')
out.append( "' ");
else if (c == '/ " ')
out.append( "" ");
else if (c == ' < ')
out.append( "< ");
else if (c == '> ')
out.append( "> ");
else if (c == '& ')
out.append( "& ");
else if (c == ' ')
out.append( " ");
else if (c == '/n ')
out.append( " <br> ");
else
out.append(c);
}
return out.toString();
}
那麼在頁面上調用這個類,如<%=toHTMLString(content)%> ,content是textarea的內容
如果你用了struts框架的話,這個類可以寫成一個自定義的函數,直接用標籤調用就解決了。
第二種:在數據存入數據庫的時候就轉換
content=content.replaceAll(" "," ");
content=content.replaceAll("/r/n","<br/>");
content=content.replaceAll("/n","<br/>");
然後在頁面讀取的時候,再轉換過來
sc = 數據庫中的content字段值 ;
sc=sc.replaceAll("<br/>","/r/n");
sc=sc.replaceAll("<br>","/r/n");
sc=sc.replaceAll(" "," ");