就是比如说你输入了<a href=www.sohu.com>搜狐</a>,那么页面显示的时候就显示<a href=www.sohu.com>搜狐</a>,而不是直接"搜狐" 的超连接 public static String asHTML(String text) 
{
if (text==null) text="";
text=text.replace("<","&lt;");
text=text.replace(">","&gt;");
return text;}
写了以上简单函数,运行错误:
D:\Tomcat 4.1\work\Standalone\localhost\jsp\bbs\content_jsp.java:18: replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String)
text=text.replace("<","&lt;");
                 ^
D:\Tomcat 4.1\work\Standalone\localhost\jsp\bbs\content_jsp.java:19: replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String)
text=text.replace(">","&gt;");
                 ^
2 errors

解决方案 »

  1.   

    用这个   public String html(String Str)
       {
    Str=Str.replace("&","&amp;");
    Str=Str.replace(" ","&nbsp;") ;    
    Str=Str.replace(">","&gt;");
    Str=Str.replace("<","&lt;"); 
    Str=Str.replace("\n","<br>"); 
    Str=Str.replace("\"","&quot;");   
    return Str;
       }
      

  2.   

    用了 jspfans(JSP小学生) 的,还是有错误:
    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: -1 in the jsp file: nullGenerated servlet error:
        [javac] Compiling 1 source fileD:\Tomcat 4.1\work\Standalone\localhost\jsp\bbs\content_jsp.java:17: replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String)
    Str=Str.replace("&","&amp;");
                   ^
    D:\Tomcat 4.1\work\Standalone\localhost\jsp\bbs\content_jsp.java:18: replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String)
    Str=Str.replace(" ","&nbsp;") ;    
                   ^
    D:\Tomcat 4.1\work\Standalone\localhost\jsp\bbs\content_jsp.java:19: replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String)
    Str=Str.replace(">","&gt;");
                   ^
    D:\Tomcat 4.1\work\Standalone\localhost\jsp\bbs\content_jsp.java:20: replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String)
    Str=Str.replace("<","&lt;"); 
                   ^
    D:\Tomcat 4.1\work\Standalone\localhost\jsp\bbs\content_jsp.java:21: replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String)
    Str=Str.replace("\n","<br>"); 
                   ^
    D:\Tomcat 4.1\work\Standalone\localhost\jsp\bbs\content_jsp.java:22: replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String)
    Str=Str.replace("\"","&quot;");   
                   ^
    6 errors
      

  3.   

    我改成:
    <%! 
    public String html(String Str)
       {
    Str=Str.replaceAll("&","&amp;");
    Str=Str.replaceAll(" ","&nbsp;") ;    
    Str=Str.replaceAll(">","&gt;");
    Str=Str.replaceAll("<","&lt;"); 
    Str=Str.replaceAll("\n","<br>"); 
    Str=Str.replaceAll("\"","&quot;");   
    return Str;
       }%>
    就输出乱码了:
    %0D%0A%0D%0A%D3%D0%D2%BB%B8%F6%CE%C4%BC%FE%A3%BA%0D%0A%3C%25%40+page+contentType%3D%22text%2Fhtml%3B+charset%3Dgb2312%22+language%3D%22java%22+import%3D%22java.sql.*%22+errorPage%3D%22%22+%25%3E%0D%0A%3Chtml%3E%0D%0A%3Chead%3E%0D%0A%3Cmeta+http-equiv%3D%22Content-Type%22+content%3D%22text%2Fhtml%3B+charset%3Dgb2312%22%3E%0D%0A%3Ctitle%3E%CA%D7%D2%B3%3C%2Ftitle%3E%0D%0A%3C%2Fhead%3E%0D%0A%0D%0A%3Cframeset+cols%3D%22160%2C*%22+frameborder%3D%22no%22+border%3D%220%22+framespacing%3D%220%22%3E%0D%0A++%3Cframe+src%3D%22left.jsp%22+name%3D%22leftFrame%22+scrolling%3D%22No%22+noresize%3D%22noresize%22+id%3D%22leftFrame%22+title%3D%22leftFrame%22%3E%0D%0A++%3Cframe+src%3D%22logon1.jsp%22+name%3D%22mainFrame%22+id%3D%22mainFrame%22+title%3D%22mainFrame%22%3E%0D%0A%3C%2Fframeset%3E%0D%0A%3Cnoframes%3E%3Cbody%3E%0D%0A%3C%2Fbody%3E%0D%0A%3C%2Fnoframes%3E%3C%2Fhtml%3E%0D%0A%A3%AC%C8%BB%BA%F3%CE%D2%D4%DAleft.jsp%C0%EF%C3%E6%D3%D0%B3%AC%C1%AC%BD%D3%D5%E2%D1%F9%D0%B4%A3%BA%0D%0A++%3Ctr%3E%0D%0A++++%3Ctd+align%3D%22center%22%3E%3Ca+href%3D%22logon1.jsp%22+target%3D%22mainFrame%22%3E%BB%D8%B5%BD%CA%D7%D2%B3%3C%2Fa%3E%3C%2Ftd%3E%0D%0A++%3C%2Ftr%3E%0D%0A%CF%EB%CA%B5%CF%D6%B5%E3%BB%F7%D7%F3%B1%DF%D2%B3%C3%E6%B5%C4%B3%AC%C1%AC%BD%D3%A3%AC%D4%DA%D3%D2%B1%DF%D2%B3%C3%E6%CF%D4%CA%BE%CF%E0%D3%A6%B5%C4%D2%B3%C3%E6%A3%AC%D5%E2%D1%F9%CA%B9%D3%C3%B6%D4%B2%BB%B6%D4%C4%D8%A3%BF%0D%0A+%0D%0A%09%0D%0A%09
      

  4.   

    这样是不是不要public了呢??
    <%! 
    String html(String Str)
       {
    Str=Str.replaceAll("&","&amp;");
    Str=Str.replaceAll(" ","&nbsp;") ;    
    Str=Str.replaceAll(">","&gt;");
    Str=Str.replaceAll("<","&lt;"); 
    Str=Str.replaceAll("\n","<br/>"); 
    Str=Str.replaceAll("\"","&quot;");   
    return Str;
       }你的错误不在这里,是不是字符类型的错误呢?replace(char,char) in java.lang.String cannot be applied to (java.lang.String,java.lang.String)把你的程序贴出来看看那