在JSP中 int cardidint =Integer.valueOf(request.getParameter("cardid")); 运行说出现数字格式异常
这是我jsp中的代码:<%intcardidint=Integer.valueOf(request.getParameter("cardid"));System.out....
这是我jsp中的代码:
<%
int cardidint =Integer.valueOf(request.getParameter("cardid"));
System.out.print("卡号 为:"+cardidint);
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;DatabaseName=eatery;user=sa;password=sasa;");
Statement stmt = conn.createStatement();
String sql="select cardID,name,balance from card where cardID='"+cardidint+"'";
System.out.print("卡号验证成功");
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
session.setAttribute("cardid",cardidint);
System.out.println("session中的cardid:"+cardidint);
运行结果(部分):
卡号 为:2230卡号验证成功实数i=4卡号 为:2555卡号验证成功session中的cardid:2555
2011-5-27 20:41:01 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.valueOf(Integer.java:554)
at org.apache.jsp.Checkcard_jsp._jspService(Checkcard_jsp.java:98)
这是前一个JSP页面中的HTML代码
<th width="276" scope="col"><form name="cardidform" method="post" onSubmit="return Checkcard()"action="Checkcard.jsp">
<p>
<label><span class="STYLE1">卡号 </span>
<input type="text" name="cardid" width="180" height="35">
</label>
</p>
<p> </p>
<p> </p>
<p>
<input name="Submit" type="Submit" class="STYLE1" value="确定">
</p> 展开
<%
int cardidint =Integer.valueOf(request.getParameter("cardid"));
System.out.print("卡号 为:"+cardidint);
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;DatabaseName=eatery;user=sa;password=sasa;");
Statement stmt = conn.createStatement();
String sql="select cardID,name,balance from card where cardID='"+cardidint+"'";
System.out.print("卡号验证成功");
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
session.setAttribute("cardid",cardidint);
System.out.println("session中的cardid:"+cardidint);
运行结果(部分):
卡号 为:2230卡号验证成功实数i=4卡号 为:2555卡号验证成功session中的cardid:2555
2011-5-27 20:41:01 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.valueOf(Integer.java:554)
at org.apache.jsp.Checkcard_jsp._jspService(Checkcard_jsp.java:98)
这是前一个JSP页面中的HTML代码
<th width="276" scope="col"><form name="cardidform" method="post" onSubmit="return Checkcard()"action="Checkcard.jsp">
<p>
<label><span class="STYLE1">卡号 </span>
<input type="text" name="cardid" width="180" height="35">
</label>
</p>
<p> </p>
<p> </p>
<p>
<input name="Submit" type="Submit" class="STYLE1" value="确定">
</p> 展开
5个回答
展开全部
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
提交很明显,数字转换错误,不能转换成Integer
这个是由于提交的字符串值为空串,或者其他不可转换为int的。建议先做验证,并在转换处加上try...catch
如:
int cardidint ;
try{
cardidint = Integer.valueOf(request.getParameter("cardid").trim());
}catch(Exception e){
System.out.println(“提交的cardid错误。”);
....
}
at java.lang.Integer.parseInt(Integer.java:417)
提交很明显,数字转换错误,不能转换成Integer
这个是由于提交的字符串值为空串,或者其他不可转换为int的。建议先做验证,并在转换处加上try...catch
如:
int cardidint ;
try{
cardidint = Integer.valueOf(request.getParameter("cardid").trim());
}catch(Exception e){
System.out.println(“提交的cardid错误。”);
....
}
追问
试过了,结果就是页面转换不过去,而且页面元素都没有了。控制台打印出异常信息。
追答
一样的异常吗?异常在哪行?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
出错的页面你并没有给出来,所以猜测:Integer.java中parseInt的方法应该类似如下int a=Integer.parseInt("2555");
System.out.println(a);
System.out.println(a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cardid没有传过来啊 报null了
cardidint不能转换null
cardidint不能转换null
更多追问追答
追问
可是从运行结果看,打印出来是有值的。。2555,为什么cardid传不过来呢?
我再补充一下前面一个JSP中一段HTML代码:
追答
int cardidint =Integer.valueOf(request.getParameter("cardid"));
你用Integer。parseInt试试
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在转换之前先对cardid进行验证 再传送过去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的jsp页面的编码方式是什么呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询