package com.inc;
import java.sql.*;public class ErrMsg
{
    public String ErrMsg1(String str,String url)
     {
        return("<script lanuage='javascript'>alert('"+str+"');location.href='"+url+"';</script>");
    }
public String ErrMsg2(String str)
     {
        return("<script lanuage='javascript'>alert('"+str+"');history.back(-1);</script>");
    }
} 上面是一个.java文件,已经编译成.class文件!在使用这个.class文件的时候代码如下String ErrMsg2("文字");使用后会出错!请问错在哪里?正确的使用方法是什么?

解决方案 »

  1.   

    ErrMsg errmsg = new ErrMsg();String s = errmsg.ErrMsg2("文字");
      

  2.   

    就是就是,没对象生成怎么能调用public方法呀!
      

  3.   

    <%
       if(error){
          out.println(new ErrMsg("出现错误,自动跳到a.jsp", "a.jsp")); 
       }
    %><%
       if(error){
          out.println(new ErrMsg("出现错误,请重试!")); 
       }
    %>
      

  4.   

    diggywang(Miner Lover!这位兄弟的意思我有些不明白!!
    上面的实例我都使用了!还是出错,郁闷!org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 12 in the jsp file: /ShowContents.jsp
    Generated servlet error:
    ErrMsg1 cannot be resolved to a type
    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)
      

  5.   

    可以贴出你的ShowContents.jsp代码看看~
    问题在这个页面上~
      

  6.   

    用到的两个页面的原代码如下!
    ------------------ShowContent.jsp------------------------------------
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <jsp:useBean id="ErrMsg" scope="page" class="com.inc.ErrMsg"/>
    <%@ include file="Conn.jsp"%> 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title><%=Config.getString(2)%></title>
    </head>
    <%}%>
    <body>
    <%
    String BorderName=request.getParameter("BorderName"); //获得的版块名称
    String RequestId=request.getParameter("ShowId"); //显示内容的ID
    if(BorderName==null)
    {
        out.print(new ErrMsg1("出现错误,自动跳到a.jsp", "a.jsp")); 
    }
    %>
    </body>
    </html>
    -------------------------------------------------------------------------------------------------ErrMsg.java----------------------------------------
    package com.inc;public class ErrMsg
    {    public String ErrMsg1(String str1 , String url)
         {
            return("<script lanuage='javascript'>alert('"+str1+"');location.href='"+url+"';</script>");
        }
    public String ErrMsg2(String str2)
         {
            return("<script lanuage='javascript'>alert('"+str2+"');history.back(-1);</script>");
        }
    } -----------------------------------------------------------------------------------
      

  7.   

    你的类是ErrMsg,ErrMsg1、ErrMsg2只是其中的一个方法,所以,调用的时候不能够new ErrMsg1;
    你可以用kevinliuu(@。@) ( 两星(中级)) 的建议,
    <%
    String BorderName=request.getParameter("BorderName"); //获得的版块名称
    String RequestId=request.getParameter("ShowId"); //显示内容的ID
    if(BorderName==null)
    {
    out.print(new ErrMsg().ErrMsg1("出现错误,自动跳到a.jsp", "a.jsp"));
    }
    %>
      

  8.   

    给你一个工具类
    ---------------------------import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.PrintWriter;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;/**
     * 工具包
     */
    public final class JspUtil {    /**
         * 显示提示信息
         * 
         * @param message 需要显示的提示信息
         */
        public static void go(HttpServletResponse response, String message)
            throws IOException {        go(response, message, 0);
        }    /**
         * 按指定步数返回页面
         * 
         * @param backStep 返回页面的步数
         */
        public static void go(HttpServletResponse response, int backStep)
            throws IOException {        go(response, null, 0);
        }    /**
         * 显示提示信息,并按指定步数返回页面
         * 
         * @param message 需要显示的提示信息
         * @param backStep 返回页面的步数
         */
        public static void go(HttpServletResponse response, String message,
            int backStep) throws IOException {        PrintWriter out = response.getWriter();        out.println("<script language=\"Javascript\">");
            if (message != null) {
                out.println("alert(\"" + message + "\");");
            }
            if (backStep < 0) {
                out.println("window.history.go(" + backStep + ");");
            }
            out.println("</script>");
            out.flush();
            out.close();
        }    /**
         * 显示提示信息,并跳转至指定页面
         * 
         * @param message 需要显示的提示信息
         * @param toUrl 跳转的指定页面
         */
        public static void go(HttpServletResponse response, String message,
            String toUrl) throws IOException {        PrintWriter out = response.getWriter();        out.println("<script language=\"Javascript\">");
            if (message != null) {
                out.println("alert(\"" + message + "\");");
            }
            if (toUrl != null) {
                out.println("top.document.location.replace('" + toUrl + "')");
            }
            out.println("</script>");
            out.flush();
            out.close();
        }    /**
         * 显示提示信息,关闭原有页面,并跳转至指定页面
         * 
         * @param message 需要显示的提示信息
         * @param response 响应对象
         */
        public static void goClose(HttpServletResponse response, String message)
            throws IOException {        PrintWriter out = response.getWriter();        out.println("<script language=\"Javascript\">");
            if (message != null) {
                out.println("alert(\"" + message + "\");");
            }
            out.println("window.opener='xxx'");
            out.println("window.close();");
            out.println("</script>");
            out.flush();
            out.close();
        }}-------------------------
    使用方法:
    import 引入后
    JspUtil.go(...);
      

  9.   

    emin_lee() 你在上面提到的
    <%
    {
    out.print(new ErrMsg().ErrMsg1("出现错误,自动跳到a.jsp", "a.jsp"));
    %>
    这段代码我用了,还是出错!!请加我QQ吧!咱们QQ上说78054谢谢!
      

  10.   

    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 11 in the jsp file: /ShowContents.jsp
    Generated servlet error:
    ErrMsg.ErrMsg1 cannot be resolved to a type
      

  11.   

    标准的javabean,如果要通过<jsp:useBean来使用的话,必须有显性的无参数的构造方法!public class ErrMsg{public ErrMsg(){
    }
    ...
    }
      

  12.   

    如果用了<jsp:useBean倒入的话,直接可以<jsp:useBean id="ErrMsg" scope="page" class="com.inc.ErrMsg"/>
    ....ErrMsg.ErrMsg1("出现错误,自动跳到a.jsp", "a.jsp")
      

  13.   

    ------------------ShowContent.jsp------------------------------------
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,com.inc.ErrMsg" errorPage="" %>
    <jsp:useBean id="ErrMsg" scope="page" class="com.inc.ErrMsg"/>
    <%@ include file="Conn.jsp"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title><%=Config.getString(2)%></title>
    </head>
    <%}%>
    <body>
    <%
    String BorderName=request.getParameter("BorderName"); //获得的版块名称
    String RequestId=request.getParameter("ShowId"); //显示内容的ID
    if(BorderName==null)
    {
    out.print(ErrMsg.ErrMsg1("出现错误,自动跳到a.jsp", "a.jsp"));
    }
    %>
    </body>
    </html>
    -------------------------------------------------------------------------------------------------ErrMsg.java----------------------------------------
    package com.inc;public class ErrMsg{
    public ErrMsg(){
    } public String ErrMsg1(String str1 , String url){
    return("<script lanuage='javascript'>alert('"+str1+"');location.href='"+url+"';</script>");
    } public String ErrMsg2(String str2){
    return("<script lanuage='javascript'>alert('"+str2+"');history.back(-1);</script>");
    }
    }
      

  14.   

    hehe~
    我的qq被盗了~
    :)
      

  15.   

    emin_lee() 强!!问题解决了!!是不是关键就在errmsg.java那儿?public ErrMsg(){}那儿!!多谢!!