org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 11 in the jsp file: /reg_action.jsp
Generated servlet error:
D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\reg\org\apache\jsp\reg_005faction_jsp.java:55: 非法的表达式开始
    public LengthCheck(String str,int MinLength,int MaxLength)
    ^
1 错误 org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

解决方案 »

  1.   

    没有函数返回类型,没有返回值,就是void型
      

  2.   

      没听说过 JSP页面可以 使用  public 修饰符的
      

  3.   

    你這是jsp頁面?
    方法要用function定義
    去找本js地書看下吧。。
      

  4.   


    上面的错误是没有返回值。
    一般很少在jsp里面些java代码的,用jstl 和EL表达式比较好!!
      

  5.   

    同意kingsun521的说法。没有返回值
    public boolean LengthCheck(String   str,int   MinLength,int   MaxLength) 
      

  6.   

    谢谢大家的帮助!
    不过还是不行啊!
    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 11 in the jsp file: /reg_action.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\reg\org\apache\jsp\reg_005faction_jsp.java:55: 非法的表达式开始
        Public boolean LengthCheck(String str,int MinLength,int MaxLength)
        ^
    1 错误 org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  7.   

    崩溃了!!大家再帮我看看吧!org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 11 in the jsp file: /reg_action.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\reg\org\apache\jsp\reg_005faction_jsp.java:55: 不是语句
        Public boolean LengthCheck(String str,int MinLength,int MaxLength)
        ^
    An error occurred at line: 11 in the jsp file: /reg_action.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\reg\org\apache\jsp\reg_005faction_jsp.java:55: 需要 ';'
        Public boolean LengthCheck(String str,int MinLength,int MaxLength)
              ^
    2 错误 org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  8.   

    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 11 in the jsp file: /reg_action.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\reg\org\apache\jsp\reg_005faction_jsp.java:55: 非法的表达式开始
        public boolean LengthCheck(String str,int MinLength,int MaxLength)
        ^
    1 错误 org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)高手9999999火啊!!!着火了!!
      

  9.   

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>注册判断</title>
    </head><body>  <%
        public boolean LengthCheck(String str,int MinLength,int MaxLength)
        {
            return((str.length>=MinLength)&&(str.length<=MaxLength));
        }
        String UserName=request.getParameter("UserName");
        String NickName=request.getParameter("NickName");
        String Sex=request.getParameter("Sex");
        String Password=request.getParameter("Password");
        String PwdConfirm=request.getParameter("PwdConfirm");
        String Question=request.getParameter("Question");
        String Answer=request.getParameter("Answer");
        String Email=request.getParameter("Email");
        String Error=new String();  %>
      <%
        boolean allOk=true;
        String Number="0123456789";
        for(int i=0;i<UserName.length();i++)
        {
            char temp=UserName.charAt(i);
            if(!((temp>='a'&&temp<='z')||(temp>='A'&&temp<='Z')||(temp=='_')||(temp.indexOf(temp)!=-1)))
            Error+="用户名必须由数字、字母和下划线构成<br>";
            allOk=false;
        }    if(!LengthCheck(UserName,4,20))
        { 
           Error+="请检查用户名长度<br>";
           allOk=false;
        }
        if(NickName.length()==0)
        {
           Error+="请填写昵称<br>";
           NickName="";
           allOk=false;
        }
        if(Sex.equals("男"))
           sex="0";
        else if(Sex.equals("女"))
           sex="1";
        else 
           sex="2";
        if(Password.length()==0)
        {
           Error+="请设置密码<br>";
           Password="";
           allOk=false;
        }
        if(!LengthCheck(Password,6,12))
        {
           Error+="密码长度应该在6-12位间<br>";
           allOk=false;
        }
        if((!LengthCheck(PwdConfirm,6,12))|(!Password.equals(PwdConfirm)))
        {
           Error+="请重新确认密码<br>";
           PwdConfirm="";
           allOk=false;
        }
        if(Question.length()==0)
        {
           Error+="请选择密码提示问题<br>";
           Question="";
           allOk=false;
        }
        if(Answer.length()==0)
        {
           Error+="请填写密码问题答案<br>";
           Answer="";
           allOk=false;
        }
        if(Email.indexOf('@')<=0)
        {
           Error+="邮件地址填写不正确,请重新填写<br>";
           Email="";
           allOk=false;
        }
        if(allOk)
        {    
        UserName=(String)session.getAttribute("UserName");
        NickName=(String)session.getAttribute("NickName");
        Sex=(String)session.getAttribute("Sex");
        Password=(String)session.getAttribute("Password");
        PwdConfirm=(String)session.getAttribute("PwdConfirm");
        Question=(String)session.getAttribute("Question");
        Answer=(String)session.getAttribute("Answer");
        Email=(String)session.getAttribute("Email");
        %>
           <jsp:forward page="reg22.jsp"/>
        <%
        }
        else
    {    Error=(String)session.getAttribute("Error");
        %>
           <jsp:forward page="reg_error.jsp"/>
       <% 
    }
       %>
    </body>
    </html>
      

  10.   

    <%!
           public   boolean   LengthCheck(String   str,int   MinLength,int   MaxLength) 
            { 
                    return((str.length> =MinLength)&&(str.length <=MaxLength)); 
            } %>
    String   UserName=request.getParameter("UserName"); 
            String   NickName=request.getParameter("NickName"); 
            String   Sex=request.getParameter("Sex"); 
            String   Password=request.getParameter("Password"); 
            String   PwdConfirm=request.getParameter("PwdConfirm"); 
            String   Question=request.getParameter("Question"); 
            String   Answer=request.getParameter("Answer"); 
            String   Email=request.getParameter("Email"); 
            String   Error=new   String();     %> 
        <% 
            boolean   allOk=true; 
            String   Number="0123456789"; 
            for(int   i=0;i <UserName.length();i++) 
            { 
                    char   temp=UserName.charAt(i); 
                    if(!((temp> ='a'&&temp <='z') ¦ ¦(temp> ='A'&&temp <='Z') ¦ ¦(temp=='_') ¦ ¦(temp.indexOf (temp)!=-1))) 
                    Error+="用户名必须由数字、字母和下划线构成 <br> "; 
                    allOk=false; 
            }         if(!LengthCheck(UserName,4,20)) 
            {   
                  Error+="请检查用户名长度 <br> "; 
                  allOk=false; 
            } 
            if(NickName.length()==0) 
            { 
                  Error+="请填写昵称 <br> "; 
                  NickName=""; 
                  allOk=false; 
            } 
            if(Sex.equals("男")) 
                  sex="0"; 
            else   if(Sex.equals("女")) 
                  sex="1"; 
            else   
                  sex="2"; 
            if(Password.length()==0) 
            { 
                  Error+="请设置密码 <br> "; 
                  Password=""; 
                  allOk=false; 
            } 
            if(!LengthCheck(Password,6,12)) 
            { 
                  Error+="密码长度应该在6-12位间 <br> "; 
                  allOk=false; 
            } 
            if((!LengthCheck(PwdConfirm,6,12)) ¦(!Password.equals(PwdConfirm))) 
            { 
                  Error+="请重新确认密码 <br> "; 
                  PwdConfirm=""; 
                  allOk=false; 
            } 
            if(Question.length()==0) 
            { 
                  Error+="请选择密码提示问题 <br> "; 
                  Question=""; 
                  allOk=false; 
            } 
            if(Answer.length()==0) 
            { 
                  Error+="请填写密码问题答案 <br> "; 
                  Answer=""; 
                  allOk=false; 
            } 
            if(Email.indexOf('@') <=0) 
            { 
                  Error+="邮件地址填写不正确,请重新填写 <br> "; 
                  Email=""; 
                  allOk=false; 
            } 
            if(allOk) 
            {         
            UserName=(String)session.getAttribute("UserName"); 
            NickName=(String)session.getAttribute("NickName"); 
            Sex=(String)session.getAttribute("Sex"); 
            Password=(String)session.getAttribute("Password"); 
            PwdConfirm=(String)session.getAttribute("PwdConfirm"); 
            Question=(String)session.getAttribute("Question"); 
            Answer=(String)session.getAttribute("Answer"); 
            Email=(String)session.getAttribute("Email"); 
            %> 
                  <jsp:forward   page="reg22.jsp"/> 
            <% 
            } 
            else 
    {         Error=(String)session.getAttribute("Error"); 
            %> 
                  <jsp:forward   page="reg_error.jsp"/> 
          <%   

          %> 
    </body> 
    </html> 
      

  11.   

    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 8 in the jsp file: /reg_action.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\reg\org\apache\jsp\reg_005faction_jsp.java:13: 非法的表达式开始
                    return((str.length> =MinLength)&&(str.length <=MaxLength)); 
                                        ^
    An error occurred at line: 8 in the jsp file: /reg_action.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\reg\org\apache\jsp\reg_005faction_jsp.java:13: 需要 ')'
                    return((str.length> =MinLength)&&(str.length <=MaxLength)); 
                                                                              ^
    An error occurred at line: 24 in the jsp file: /reg_action.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\reg\org\apache\jsp\reg_005faction_jsp.java:74: 非法的表达式开始
                    if(!((temp> ='a'&&temp <='z') | |(temp> ='A'&&temp <='Z') | |(temp=='_') | |(temp.indexOf 
                                ^
    An error occurred at line: 24 in the jsp file: /reg_action.jsp
    Generated servlet error:
    D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\reg\org\apache\jsp\reg_005faction_jsp.java:77: 需要 ')'
                    Error+="???§??±???????×???×??????????????? <br> "; 
                                                                     ^
    4 错误 org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    各位哥哥姐姐们帮帮忙啊!
      

  12.   

    我把你的jsp页面做了修正,你看下,应该没有问题了,需要注意的是jsp里内部方法应该用 <%!    %>来包含,不是<%  %>
    还有改的时候,你的(temp.indexOf(temp)!=-1)这个判断写的是错的,char没有这个方法,你自己看下怎么改
    另外就是建议你用有插件的开发环境,好多错误是可以提示出来的,比如定义Sex,用sex。。
    <head>
    <meta http-equiv="Content-Type" content="text/html;   charset=gb2312">
    <title>注册判断</title>
    </head>
    <body>
    <%!
    boolean LengthCheck(String str,int MinLength, int MaxLength)
            {
                    return ((str.length()>=MinLength)&&(str.length() <=MaxLength));
            }
        %>
    <%
    String   UserName=request.getParameter("UserName");
    String   NickName=request.getParameter("NickName");
    String   Sex=request.getParameter("Sex");
    String   Password=request.getParameter("Password");
    String   PwdConfirm=request.getParameter("PwdConfirm");
    String   Question=request.getParameter("Question");
    String   Answer=request.getParameter("Answer");
    String   Email=request.getParameter("Email");
    String   Error=new   String();        boolean   allOk=true;
            String   Number="0123456789";
            for(int   i=0;i <UserName.length();i++)
            {
                    char   temp=UserName.charAt(i);
                    // del (temp.indexOf(temp)!=-1)
                    if(!((temp>='a' && temp <='z') ||(temp>='A' && temp <='Z') ||(temp=='_') )){
                    Error+="用户名必须由数字、字母和下划线构成 <br> ";
                    allOk=false;
                    }
            }        if(!LengthCheck(UserName,4,20))
            {  
                  Error+="请检查用户名长度 <br> ";
                  allOk=false;
            }
            if(NickName.length()==0)
            {
                  Error+="请填写昵称 <br> ";
                  NickName="";
                  allOk=false;
            }
            if(Sex.equals("男"))
                Sex="0";
            else   if(Sex.equals("女"))
                Sex="1";
            else  
                Sex="2";
            if(Password.length()==0)
            {
                  Error+="请设置密码 <br> ";
                  Password="";
                  allOk=false;
            }
            if(!LengthCheck(Password,6,12))
            {
                  Error+="密码长度应该在6-12位间 <br> ";
                  allOk=false;
            }
            if((!LengthCheck(PwdConfirm,6,12)) | (!Password.equals(PwdConfirm)))
            {
                  Error+="请重新确认密码 <br> ";
                  PwdConfirm="";
                  allOk=false;
            }
            if(Question.length()==0)
            {
                  Error+="请选择密码提示问题 <br> ";
                  Question="";
                  allOk=false;
            }
            if(Answer.length()==0)
            {
                  Error+="请填写密码问题答案 <br> ";
                  Answer="";
                  allOk=false;
            }
            if(Email.indexOf('@') <=0)
            {
                  Error+="邮件地址填写不正确,请重新填写 <br> ";
                  Email="";
                  allOk=false;
            }
            if(allOk)
            {        
            UserName=(String)session.getAttribute("UserName");
            NickName=(String)session.getAttribute("NickName");
            Sex=(String)session.getAttribute("Sex");
            Password=(String)session.getAttribute("Password");
            PwdConfirm=(String)session.getAttribute("PwdConfirm");
            Question=(String)session.getAttribute("Question");
            Answer=(String)session.getAttribute("Answer");
            Email=(String)session.getAttribute("Email");
            %>
    <jsp:forward page="reg22.jsp" />
    <%
            }
            else
    {         Error=(String)session.getAttribute("Error");
            %>
    <jsp:forward page="reg_error.jsp" />
    <%  
    }
          %>
    </body>
    </html>