CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

非常急的问题,挺简单的,请高手指教!

楼主sessisn()2006-07-18 23:14:17 在 Java / Web 开发 提问

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("文字");  
   
  使用后会出错!请问错在哪里?正确的使用方法是什么? 问题点数:20、回复次数:21Top

1 楼sessisn()回复于 2006-07-19 00:49:52 得分 0

怎么没有人说话呀?Top

2 楼kevinliuu()回复于 2006-07-19 08:42:19 得分 2

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

3 楼jackson416(鬼鬼 | 问世间小裤衩是何物,为何.....)回复于 2006-07-19 08:48:43 得分 0

楼上正解Top

4 楼diggywang(Miner Lover!)回复于 2006-07-19 08:50:33 得分 0

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

5 楼pdvv(花猫)回复于 2006-07-19 08:55:25 得分 2

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

6 楼sessisn()回复于 2006-07-19 10:21:45 得分 0

diggywang(Miner   Lover!  
   
  这位兄弟的意思我有些不明白!!  
   
   
  上面的实例我都使用了!还是出错,郁闷!  
   
  org.apache.jasper.JasperException:   Unable   to   compile   class   for   JSP  
   
  An   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)  
  Top

7 楼emin_lee(emin)回复于 2006-07-19 10:26:20 得分 0

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

8 楼sessisn()回复于 2006-07-19 10:29:10 得分 0

用到的两个页面的原代码如下!  
   
   
   
   
  ------------------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>");  
        }  
  }  
   
  -----------------------------------------------------------------------------------Top

9 楼emin_lee(emin)回复于 2006-07-19 10:36:05 得分 0

你的类是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"));  
  }  
  %>Top

10 楼emin_lee(emin)回复于 2006-07-19 10:40:05 得分 0

给你一个工具类  
  ---------------------------  
   
  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(...);Top

11 楼sessisn()回复于 2006-07-19 10:49:28 得分 0

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

12 楼sessisn()回复于 2006-07-19 10:51:18 得分 0

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

13 楼emin_lee(emin)回复于 2006-07-19 10:56:53 得分 0

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

14 楼emin_lee(emin)回复于 2006-07-19 10:58:36 得分 0

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

15 楼sessisn()回复于 2006-07-19 11:27:13 得分 0

如果可以的话请帮我在原来的代码基础上修改一下,好吗??Top

16 楼emin_lee(emin)回复于 2006-07-19 11:32:18 得分 0

------------------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>");  
  }  
  }Top

17 楼emin_lee(emin)回复于 2006-07-19 11:33:03 得分 16

hehe~  
  我的qq被盗了~  
  :)Top

18 楼sessisn()回复于 2006-07-19 11:49:28 得分 0

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

19 楼emin_lee(emin)回复于 2006-07-19 12:11:49 得分 0

不客气:)  
  解决了就好!  
   
  以后养成习惯,所有的对象,都显示的写上无参数的构造方法,这样就可以了~Top

20 楼maomaofly110(浪天无名)回复于 2006-07-19 12:14:23 得分 0

这么简单的问题怎么写的那么复杂撒Top

21 楼sessisn()回复于 2006-07-19 12:36:59 得分 0

有空加一下我的QQ:78054   Msn:sessisn@hotmail.com  
   
  交个朋友!!我刚刚学习JSP有很多不懂的地方,想向你请教!Top

相关问题

关键词

得分解答快速导航

  • 帖主:sessisn
  • kevinliuu
  • pdvv
  • emin_lee

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo