java.lang.NumberFormatException: null

a4535361 2009-06-10 07:15:51
最近在做SSH整合, 在实现修改的时候出现这样的一个错误:
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:415)
at java.lang.Integer.parseInt(Integer.java:497)
at com.wad.web.action.EditdataAction.execute(EditdataAction.java:38)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.wad.system.EncodingFilter.doFilter(EncodingFilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

我把这个功能的代码贴出来,希望有朋友可以为我解答

DAO中的代码:
public CompanyBuss getDataById(int cid) throws Exception {


return (CompanyBuss) this.getHibernateTemplate().get(CompanyBuss.class,new Integer(cid));
}

BO中的代码:
public CompanyBuss getDataById(int cid) throws Exception {
return addsjdao.getDataById(cid);

}

Action中的代码:
public class EditdataAction extends Action {
private AddSJBoInter editdata;
public AddSJBoInter getEditdata() {
return editdata;
}
public void setEditdata(AddSJBoInter editdata) {
this.editdata = editdata;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
EditdataForm editdataForm = (EditdataForm) form;
try{
int cid = Integer.parseInt(request.getParameter("cid"));
request.setAttribute("compan", editdata.getDataById(cid));


return mapping.findForward("sucess");

}catch(Exception e){
e.printStackTrace();
return mapping.getInputForward();
}

}
}
JSP页面的代码:

<body>
<body>
<center>



<table border="1">

<tr>

<th>公司名称 </th>
<th>公司所属类型 </th>
<th>公司信息简介 </th>
<th>修改 </th>
</tr>
<logic:present name="editForm" property="list">
<logic:iterate id="item" name="editForm" property="list">

<tr>

<td>${item.cname} </td>
<td>${item.ctype} </td>
<td>${item.cinfo} </td>
<td> <a href="/T4BOSS/editdata.do? cid=${item.cid }">修改 </a> </td>
</tr>
</logic:iterate>
</logic:present>



</table>

</center>
如果成功后的话会跳到这个页面.可是跳不过去 会报那个错误,有些人说和JSP页面传值在Action定义String类型可以 我以前没定义的时候也可以出来 不知道怎么回事 希望高手帮我解决
<body>
<center>
<table>
<html:hidden property="cid" value="${compan.cid}"/>
<tr>


<td>公司名称: <html:text property="cname" value="${compan.cname}"> </html:text> <br> </td> </tr>
<tr>

<td>
公司所属类型: <html:text property="ctype" value="${compan.ctype}"> </html:text>

</td> </tr>
<tr> <td>公司信息简介: <html:textarea property="cinfo" value="${compan.cinfo}"> </html:textarea> <br> </td>
</tr>

</table>

</center>
</body>



谢谢了 写详细点
...全文
53 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangan0301 2009-06-11
  • 打赏
  • 举报
回复
那就又是别的问题了~~看你后面的页面用到了html标签,标签库导进来没啊
jokerdx 2009-06-11
  • 打赏
  • 举报
回复
帮顶~~~~~~~~~~~~~
a4535361 2009-06-11
  • 打赏
  • 举报
回复
String cd = request.getParameter("cid");
int cid = 0;
if(cd!=null){
cid = Integer.parseInt(cd);
}
这样的话可以出来 可是跳到那个页面就是空白的 什么也没有的
huangan0301 2009-06-10
  • 打赏
  • 举报
回复
int cid = Integer.parseInt(request.getParameter("cid"));
应该是这句出问题了~~我原来也经常遇到这样的问题~~其实这是写代码不规范的一种表现,改成下面的代码:


String cd = request.getParameter("cid");
int cid = 0;
if(cd!=null){
cid = Integer.parseInt(cd);
}
yinglu206 2009-06-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xnjnmn 的回复:]
int cid = Integer.parseInt(request.getParameter("cid"));

cid没有取得为NULL
你输出下或是debug下就知道
[/Quote]

at com.wad.web.action.EditdataAction.execute(EditdataAction.java:38)
错误就是在Action的Cid
xnjnmn 2009-06-10
  • 打赏
  • 举报
回复
int cid = Integer.parseInt(request.getParameter("cid"));

cid没有取得为NULL
你输出下或是debug下就知道
woaitiyu 2009-06-10
  • 打赏
  • 举报
回复
检查你是不是输入了非数字,还有输入值是否为null

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧