//用于实现ASP中的Server.HtmlEncode()同等的功能
  public static final String escapeHTML(String s){
    StringBuffer sb = new StringBuffer();
    int n = s.length();
    for (int i = 0; i < n; i++) {
      char c = s.charAt(i);
      switch (c) {
        case '<': sb.append("&lt;"); break;
        case '>': sb.append("&gt;"); break;
        case '&': sb.append("&amp;"); break;
        case '"': sb.append("&quot;"); break;
        case 'à': sb.append("&agrave;");break;
        //case '&Agrave;': sb.append("&Agrave;");break;
        //case '&acirc;': sb.append("&acirc;");break;
        //case '&auml;': sb.append("&auml;");break;
        //case '&Auml;': sb.append("&auml;");break;
        //case '&Acirc;': sb.append("&Acirc;");break;
        //case '&aring;': sb.append("&aring;");break;
        //case '&Aring;': sb.append("&Aring;");break;
        //case '&aelig;': sb.append("&aelig;");break;
        //case '&AElig;': sb.append("&AElig;");break;
        //case '&ccedil;': sb.append("&ccedil;");break;
        //case '&Ccedil;': sb.append("&Ccedil;");break;
        case 'é': sb.append("&eacute;");break;
        //case '&Eacute;': sb.append("&Eacute;");break;
        case 'è': sb.append("&egrave;");break;
        //case '&Egrave;': sb.append("&Egrave;");break;
        case 'ê': sb.append("&ecirc;");break;
        //case '&Ecirc;': sb.append("&Ecirc;");break;
        //case '&euml;': sb.append("&euml;");break;
        //case '&Euml;': sb.append("&Euml;");break;
        //case '&iuml;': sb.append("&iuml;");break;
        //case '&Iuml;': sb.append("&Iuml;");break;
        //case '&ocirc;': sb.append("&ocirc;");break;
        //case '&Ocirc;': sb.append("&Ocirc;");break;
        //case '&ouml;': sb.append("&ouml;");break;
        //case '&Ouml;': sb.append("&Ouml;");break;
        //case '&oslash;': sb.append("&oslash;");break;
        //case '&Oslash;': sb.append("&Oslash;");break;
        //case '&szlig;': sb.append("&szlig;");break;
        case 'ù': sb.append("&ugrave;");break;
        //case '&Ugrave;': sb.append("&Ugrave;");break;
        //case '&ucirc;': sb.append("&ucirc;");break;
        //case '&Ucirc;': sb.append("&Ucirc;");break;
        case 'ü': sb.append("&uuml;");break;
        //case '&Uuml;': sb.append("&Uuml;");break;
        //case '&reg;': sb.append("&reg;");break;
        //case '&copy;': sb.append("&copy;");break;
        //case '&#8364;': sb.append("&euro;"); break;
        // be carefull with this one (non-breaking whitee space)
        case ' ': sb.append("&nbsp;");break;        default:  sb.append(c); break;
      }
    }
    return sb.toString();
  }

解决方案 »

  1.   

    谢谢bgold.有无java带的类方法?
      

  2.   

    当然有的了!
    去看看下列方法:
    java.net.URLEncoder.encode(String s)
      

  3.   

    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 {
            filtered.append(c);
          }
        }
        return(filtered.toString());
      }
    }