jsp中替换html字符的问题,知道的麻烦说下,先谢谢了.
我正在用JSP写留言本,关于html字符如"<>"和"回车",原来是在javascript中在提交之前替换掉的.但是javascript由于是在客户端提交的,可以饶过直接提交这些字符,影响安全.
所以想用javabean专门写个这些字符替换的类,但是不知道怎么写,希望大家指教下,先谢谢了.

解决方案 »

  1.   

    package com;public class Change {
    public static String TextToHtml(String sourcestr)  
    {  
    int strlen;  
    String restring="", destr = "";  
    strlen = sourcestr.length();  
    for     (int i=0; i<strlen;     i++)  
    {  
    char ch=sourcestr.charAt(i);  
    switch (ch)  
    {  
    case '<':  
    destr = "&lt;";  
    break;  
    case '>':  
    destr = "&gt;";  
    break;  
    case '\"':  
    destr = "&quot;";  
    break;  
    case '&':  
    destr = "&amp;";  
    break;  
    case 13:  
    destr = "<br>";  
    break;  
    case 32:  
    destr = "&nbsp;";  
    break;  
    default :  
    destr = "" + ch;  
    break;  
    }  
    restring = restring + destr;  
    }  
    return "" + restring;  
    } }
      

  2.   

    不用手动转换
    用<c:out>标签就行了
    它会自动转换的
    比如<c:out value="<a href='http://www.csdn.net'>csdn</a>"><c:/out>
    输出后你在浏览器里看到的就是这个字符串 而不是一个链接
      

  3.   

    同意5楼,用标签的话就不用自己处理了
    struts1.x : <bean:write name="form" property="myBeanProperty" filter="false"/>
    struts2.x : <property:write value="myBeanProperty" escape="true"/>
    jstl : <c:out>