/**
   *
   *@function 将指定的字符串中的某些字符转换为HTML字符
   *
   *@param str String 源字符串
   *
   *@param title boolean 用双引号还是单引号
   *
   *@usage String str = ClassName.replace(str,true);
   *
   */
  public static String replace(String str, boolean title){
    StringBuffer sb = new StringBuffer();
    str=str.trim();
    for( int i=0; i<str.length(); i++ ) {
      char ch = str.charAt(i);
      switch (ch){
        case 13: // \r  回车符
          sb.append("<br>");
          break;
/*        case 32: // 空格符
          sb.append("&nbsp;");
          break;*/
        case 34: // "   双引号
          sb.append("&quot;");
          break;
        case 39: // '   单引号
          sb.append(  (title==true)? "&quot;" : "''" );
          break;
        case 38: // &   连接符
          sb.append("&amp;"); 
          break;
        case 60: // <   小于号
          sb.append("&lt;");
          break;
        case 62: // >   大于号
          sb.append("&gt;");
          break;
        default :
          sb.append(ch);
          break;
      }
    }
    return sb.toString();
  }

解决方案 »

  1.   

    给你个简单的,放到jsp中就能用了!<%!
    public static String filter(String input){
    StringBuffer filtered=new StringBuffer(input.length());
    char c;
    for(int i=0;i<input.length();i++){
    c=input.charAt(i);
    if (c=='<'){
    filtered.append("&lt;");
    }else if(c=='>'){
    filtered.append("&gt;");
    }else if(c=='"'){
    filtered.append("&quot;");
    }else if(c=='&'){
    filtered.append("&amp;");
    }else if(c==13){
    filtered.append("<br>");
    }else if(c==32){
    filtered.append("&nbsp;");
    }else{
    filtered.append(c);
    }
    }
    return(filtered.toString());
    }
    %>