日期:2014-05-18  浏览次数:20726 次

关于文本换行的问题
我做了个简单留言板
将用户留言存入数据库
同时又将留言放在网页显示出来
之前用的jstl的 <sql> 标签来执行数据库相关操作,在往数据库里面放数据的时候,用户的留言有换行的,我用replace( "\n ", " <br> ")换过,取出来后在网页显示没有问题。
但现在我用了一个自定义的类似 <sql> 的标签来显示从数据库中取出来的留言就不行了,浏览器无法解析 " <br> ",请大家帮我看看,下面是代码

/*这是对取出的数据进行处理的类,以达到和jstl的 <sql> 标签相同的使用效果*/
public   class   ResultSetWrapper   {
private   List <Map>   list   =   new   ArrayList <Map> ();
private   String   str;
private   Map <String,   String> []   maps;

public   List   get(ResultSet   rs){
int   column   =   0;
try{
ResultSetMetaData   rsmd   =   rs.getMetaData();
rs.last();
int   count   =   rsmd.getColumnCount(),
rows   =   rs.getRow();
maps   =   new   HashMap[rows];
rs.afterLast();

while(rs.previous()){
maps[column]   =   new   HashMap <String,   String> ();
for(int   i   =   1;   i   <=   count;   i++){
str   =   rsmd.getColumnName(i);
maps[column].put(str,   rs.getString(i));
}
list.add(maps[column]);
column++;
}
}catch(SQLException   e){}

return   list;
}
}


------解决方案--------------------
只看这个好像看不出来问题啊。
------解决方案--------------------
你读取的时候就吧换行换成&nbsp这样的东西。再读出来时候好像就可以
------解决方案--------------------
public Static String HTMLEncode(String input) throws Excepotion
{
String result=input;
result =result.replsce( " ", "&nbsp ");
result =result.replsce( " < ", "&lt ");
result =result.replsce( "> ", "&gt ");
result =result.replsce( "\n ", " <br> ");
result =result.replsce( "\ ", "&guot ");
}