我做了个简单留言板
将用户留言存入数据库
同时又将留言放在网页显示出来
之前用的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;
}
}

解决方案 »

  1.   

    你读取的时候就吧换行换成&nbsp这样的东西。再读出来时候好像就可以
      

  2.   

    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");
    }