我编写的jsp页运行时出现了如下错误提示:
An error occurred at line: 44 in the jsp file: /mail.jsp
Generated servlet error:
The method FormatPercent(double, int) is undefined for the type mail_jsp
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)页面的内容是想得出一个保留两位小数的百分数
是不是我在jsp里运用了数学函数,在一开时的
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.*;" errorPage="" %>
这里面的import再加点什么呢,还是有什么其它错误.

解决方案 »

  1.   

    应该不是import的问题了。
    java的方法不是小写开头嘛? method FormatPercent(double, int) 
    这个方法在什么地方定义的?你是怎么用的。
      

  2.   

    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.*;" errorPage="" %>
    <html>
    <head>
    <title>邮箱运营</title>
    <style type="text/css">
    <!--
    body {
    background-color: #EEEEEE;
    }
    .style1 {
    font-size: 14px;
    font-weight: bold;
    }
    td {
    font-size: 12px;
    }
    -->
    </style></head>
    <%! String url,user,password,sql,quhao,rongliang,tel,fangshi,shijian,qingkuang;%>
    <%! Connection conn;%>
    <%! ResultSet rs;%>
    <%! Statement stmt;%>
    <%! int hezec,hezecbatint;%>
    <%! double hezecbat;%>
    <body>
       <%
    try{
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mail"; 
    String user="sa"; 
    String password="123456"; 
    Connection conn= DriverManager.getConnection(url,user,password);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    sql="select count(*) as hezecbatint from ruyi where quhao='0530' and tel>'13300000000' and fangshi='bat' and shijian like'2006-9%' ";
    rs=stmt.executeQuery(sql);
    rs.next();
    hezecbatint=rs.getInt("hezecbatint");
    sql="select count(*) as hezec from ruyi where quhao='0530' and tel>'13300000000' and shijian like'2006-9%' ";
    rs=stmt.executeQuery(sql);
    rs.next();
    hezec=rs.getInt("hezec");
        %>
    <%=hezecbatint%>.<%=hezec%>.<%=FormatPercent(hezecbatint/hezec,2)%>
    <%
    rs.close();
    stmt.close();
    conn.close();
    }catch(Exception e){
    out.println(e.toString());
    }
    %>
    </body>
    </html>请说的详细一点好吗?到底哪的问题,应该怎么解决,谢谢,我刚学.
      

  3.   

    FormatPercent(hezecbatint/hezec,2)
    这个方法是什么
    在那里定义的?
    编译报的是这个方法没有定义啊
      

  4.   

    楼主你需要在这个页面中定义FormatPercent(double, int)方法。
      

  5.   

    页面的内容是想得出一个保留两位小数的百分数
    是不是我在jsp里运用了数学函数,在一开时的
    页面提示没定义FormatPercent(double, int)方法,请问我应该怎么定义?
      

  6.   

    public double FormatPercent(double dd){

    double gg=Math.round(dd*100);
    return  gg/100;
    }
    保留两为够了