以下是我的一个bean:
package com.web.structure;public class Sig_StaticVar {
public static int num=0;
public static String passvalue=null
public static Sig_SealInfo[] sealinfo=new Sig_SealInfo[10];
public static int getNum()
{
return num;
}public static void setNum()
{ ++num;
}
public static String getPassvalue()
{
return passvalue;
}
public static void setPassvalue(String p)
{ passvalue=p;
}
public static void setSeal_info(Sig_SealInfo Sealinfo,int index)
{
sealinfo[index]=Sealinfo;
}
public static Sig_SealInfo getSeal_info(int index)
{
return sealinfo[index];
}}我在第一个页面,这样写了:<jsp:useBean id="staticvar" scope="session" class="com.web.structure.Sig_StaticVar" >
</jsp:useBean>第二个页面中,就有这样的语句:
String pass=request.getParameter("pass");//pass是由一个变量传递的;
if(pass=="1")
{Sig_StaticVar.setPassvalue(pass);}但是页面执行第二个页面时就是出现这样的问题:
org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.sendsealescacn.find_jsp._jspService(find_jsp.java:81)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)点击按钮,传递pass值的,一点击就这样,不知道是什么原因,已经试过多次其他方法,但只要涉及到Sig_StaticVar这个类中的变量passvalue,就有这样的问题。谢谢
package com.web.structure;public class Sig_StaticVar {
public static int num=0;
public static String passvalue=null
public static Sig_SealInfo[] sealinfo=new Sig_SealInfo[10];
public static int getNum()
{
return num;
}public static void setNum()
{ ++num;
}
public static String getPassvalue()
{
return passvalue;
}
public static void setPassvalue(String p)
{ passvalue=p;
}
public static void setSeal_info(Sig_SealInfo Sealinfo,int index)
{
sealinfo[index]=Sealinfo;
}
public static Sig_SealInfo getSeal_info(int index)
{
return sealinfo[index];
}}我在第一个页面,这样写了:<jsp:useBean id="staticvar" scope="session" class="com.web.structure.Sig_StaticVar" >
</jsp:useBean>第二个页面中,就有这样的语句:
String pass=request.getParameter("pass");//pass是由一个变量传递的;
if(pass=="1")
{Sig_StaticVar.setPassvalue(pass);}但是页面执行第二个页面时就是出现这样的问题:
org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.sendsealescacn.find_jsp._jspService(find_jsp.java:81)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)点击按钮,传递pass值的,一点击就这样,不知道是什么原因,已经试过多次其他方法,但只要涉及到Sig_StaticVar这个类中的变量passvalue,就有这样的问题。谢谢
解决方案 »
- 问个bean:define 的问题,为什么有的jsp页面报找不到name属性里的名称呢,比如报以下错误
- JAVA软件工程师群里还有部份的空位,有兴趣参入我们的讨论的朋友来加入QQ群:21500878
- jsp 报表
- 请教各位师兄师妹,库存盘点,有哪位做过?
- 怎样用jscript读取注册表???
- 急急急急急急!!!!!!!!!!!!大侠们救一救小弟呀!小弟在线等.快点呀!
- 求树,不会用JSP或JAVASCRIPT 做树啊,帮帮忙把
- 为什么会这样啊???在线等待
- spring mvc 返回视图,能不能控制在新窗口里边显示?
- spring AOP注解方式与xml方式不同点
- 自作自定义标签的步骤
- jsp中防止重复提交表单
public static Sig_SealInfo[] sealinfo=new Sig_SealInfo[10];
============这句根本就看不懂,Sig_SealInfo[]是接口还是类?
find.jsp源代码:
<jsp:useBean id="sealinfo" scope="session" class="com.web.model.Sig_SealInfo" />
<% boolean flag=false; //点击“确定”的时候就从这里开始出错;
String g=request.getParameter("pass");
if(pass=="1")
{Sig_StaticVar.setPassvalue(pass);}
else
{ //else的内容直到页面最后;
String note=request.getParameter("note");
Sig_SealOp modelOp= Sig_SealOp.getInstance(); //实例化印章操作类;
if(note!=null)
{
//builder_sequence为收藏人(登录人)的印章序列号,把sealsequence等插入T_seal_info表;
flag=modelOp.InsertCollect((String)session.getAttribute("builder_sequence"), sealinfo.getSeal_sequence()); }
else
{
String sealsequence=request.getParameter("sequence").trim();//得到签章人的印章序列号;
String sealcontent=request.getParameter("content").trim();//字符串编码变换;
byte[] tempt=sealcontent.getBytes("ISO8859_1");
sealcontent=new String(tempt);
Sig_SealInfo seal=modelOp.getModelByKey(sealsequence,sealcontent);//得到印章表中的其他信息;
sealinfo.setUser_name(seal.getUser_name());//设置印章信息类对象中的持章人姓名;
sealinfo.setSeal_type(seal.getSeal_type());//设置印章信息类对象中的印章类型;
sealinfo.setSeal_content(sealcontent);//设置印章信息类对象中的印面内容;
sealinfo.setSeal_sequence(sealsequence);//设置印章信息类对象中的印章序列号; }
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>查找签章人</title>
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="1" class="tb">
<tr>
<td class="lefttd">印章类型</td>
<td><%=sealinfo.getSeal_type()%></td>
</tr>
<tr>
<td class="lefttd">印面内容</td>
<td><%=sealinfo.getSeal_content()%></td>
</tr>
<tr>
<td class="lefttd">持章人</td>
<td><%=sealinfo.getUser_name()%></td>
</tr>
</table>
<form name="tempform" action="find.jsp?pass=1" method="post">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tb2">
<tr>
<td class="lefttd2"> </td>
<td><input name="Submit" type="button" class="bt2" value="确定" onclick="closewin1();"/>
<input name="Submit2" type="button" class="bt2" value="取消"/>
<%if(flag)
{ %>
已成功添加至收藏夹
<%flag=false;}
else
{%>
<a href="find.jsp?note=1">添加至收藏夹</a>
<%} %>
</td>
</tr>
</table>
</form>
<%} %>
<script type="text/javascript">
function closewin1()//表示点击的是“确定”按钮;
{
window.location.href="find.jsp?pass=1"; //以下两句是需要的;
//parent.document.getElementById("dialogBox").style.display="none";
//parent.document.getElementById("dialogBoxShadow").style.display="none";
}
</script>
</body>
</html>
你把pass的值打印出来看看是不是null的
错误页面一直是这样的:
description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /sendsealescacn/find.jsp:118:
9:
10:
11: <% boolean flag=false;
12: String pass=request.getParameter("pass");
13: out.print(pass);
14: if(pass=="1")
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
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)
root cause java.lang.NullPointerException
org.apache.jsp.sendsealescacn.find_jsp._jspService(find_jsp.java:82)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
???
谢谢了