问题的出现:
在textarea输入框中输入三行文字,并提交数据将内容存入到mysql中
数据库中显示的内容也有换行的
但再一次从mysql中提取该内容并显示页面上,却没换行了
原因的分析:在第一次读取输入的内容时,这是因为换行符转换为了\n\r,而在显示的时候html只识别’< br/>'的换行符,所以到时无法换行。
解决方案:这个其实只需在后台获取到textarea输入的内容后将\n\r都换成< br/>即可
//将对应的换行符转换为<br/>
String str = content.getDetail();
str = str.replaceAll("\r\n","<br/>");
这样将内容换成< br/>后,再查看前台页面就发现都换行了
下面我将其封装成一个方法便于使用
/*
将前台textarea中输入换行、空格等,以正确的格式后台存储和前台显示
*/
public class StringEncoder {
public static String inDatabase(String str){
// 下面的代码将字符串以正确方式显示(包括回车,换行,空格)
while(str.indexOf("<")!=-1){
str = str.substring(0,str.indexOf("<"))+"<"+str.substring(str.indexOf("<")+1);
}
while(