我有段代码如下:有问题,就是不知道怎么错的
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.Date" errorPage="../error.jsp"%>
<%
         int ActivityID =0;
String getActivityID=new String(request.getParameter("ActivityID"));
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<input name="ActivityID" type="hidden" value=<%=ActivityID%>>
</body>
</html>
我就是想用getActivityID=new String(request.getParameter("ActivityID"));调用本页面中的表单中的<input name="ActivityID" type="hidden" value=<%=ActivityID%>>的值。但是运行时报错。这样写有问题吗?

解决方案 »

  1.   

    报的错没有具体错误名的/错如如下:
    java.lang.NullPointerException
    错误:java.lang.NullPointerException
    at java.lang.String.(String.java:141)
    at org.apache.jsp.crm.Activity.Activity_005flab1_jsp._jspService(Activity_005flab1_jsp.java:142)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)帮帮忙看看啊!
    上面那段代码运行一下就可以看见出错的。谢谢
      

  2.   

    你这个页面根本就没有form表单,当然也就没有所谓的提交了,导致你在页面中String getActivityID=new String(request.getParameter("ActivityID"));获取不到ActivityID;所以会报空指针异常
      

  3.   


    <body>
    <form name="saveActivity" action="saveActivity.jsp" method="post">
    <input name="ActivityID" type="hidden" value=<%=ActivityID%>>
    <br>
    <input name="ActivityID1" type="text" value=<%=ActivityID%>>
    </form>
    </body>
      

  4.   

    还有就是ResultSet对象rs调用日期类型的数据时getDate()这个方法可以用几次啊?
    我用ActivityUpdateDate = rs.getDate("ActivityReviseDate");
    ActivityCreateDate = rs.getDate("ActivityCreateDate");就出现[Microsoft][ODBC SQL Server Driver]无效的描述符索引
    的错误。
      

  5.   

    request.getParameter("ActivityID")请先判断是否为空.if(request.getParameter("ActivityID")!=null){
    String getActivityID=new String(request.getParameter("ActivityID"));
    }
      

  6.   

    不对啊!这样是不能报错了,但是得到的getActivityID值为空啊!
      

  7.   

    value="<%=ActivityID%>">
    是不是要加""啊
      

  8.   

    这样写是不是有点问题啊:String getActivityID=new String(request.getParameter("ActivityID"));
    直接写成这样呢:String getActivityID=request.getParameter("ActivityID");
                    if( getActivityID==NULL)
                       getActivityID="";还有value=<%=ActivityID%>是不是要写成这样啊:value=<%= "'" + ActivityID + "'"%>,我记不清了,多改几个地方试试吧
      

  9.   

    Error:------------->new String(null)
      

  10.   

    还有就是ResultSet对象rs调用日期类型的数据时getDate()这个方法可以用几次啊?
    我用ActivityUpdateDate = rs.getDate("ActivityReviseDate");
    ActivityCreateDate = rs.getDate("ActivityCreateDate");就出现[Microsoft][ODBC SQL Server Driver]无效的描述符索引
    的错误。用getObject或者getString试试
    你是想本页面调用本页面吗?第一次出页面是没有数据的,当本页面调用本页面后,就会有数据了,你的表单没有提交的按钮submit
      

  11.   

    问题就是楼上所说的:Error:------------->new String(null)