页面上显示用户在输入框里填写的内容,如果用户在框里输入了<br><table>等就无法显示,求教高人如何解决这种问题......膜拜中........

解决方案 »

  1.   

    提交后把字符串转一下就OK了
    String str="<br><table>";
    str=str.replaceAll("<","&lt;");
    str=str.replaceAll(">","&gt;");
    out.print(str);
      

  2.   


    public class Util {

    public static String toHtml(String str){
      if(str==null){
      return null;
      }    
         StringBuffer sb = new StringBuffer();
         int len = str.length();
         for (int i = 0; i < len; i++){
              char c = str.charAt(i);
              switch(c){
               case ' ':
               sb.append("&nbsp;");
                     break;
                 case '\n':
                     sb.append("<br>");
                    break;
                 case '\r':
                    break;
                 case '\'':
                     sb.append("&#39;");
                     break;
                 case '<':
                     sb.append("&lt;");
                     break;
                 case '>':
                     sb.append("&gt;");
                     break;
                 case '&':
                     sb.append("&amp;");
                     break;
                 case '"':
                     sb.append("&#34;");
                     break;
                 case '\\':
                     sb.append("&#92;");
                     break;
                 default:
                     sb.append(c);
              }
          }
            return sb.toString();
     }   
    }