最近在做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>
谢谢了 写详细点
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>
谢谢了 写详细点
解决方案 »
- ubuntu下配置maven和hudson
- 求解字符串截取问题
- 为什么EJB3.0中不能同时加@Remote和@Local两个访问方式.
- java.lang.NumberFormatException: For input string: "id"
- tomcat6.0 关于war包发布滴问题
- 双向RMI,急
- [求助]下了个hibernate的源码,找不到org.hibernate.hql.antlr这个包
- 如何设置Double的值可以四舍五入到小数点后两位??在线等~~~!!!
- ECLIPSE3.01+MYECLIPSE3.28 +tomcat5.25JSP中文问题
- jsp中jdbc连接数据库出现的问题
- 急!!!有没有办法在tomcat之外配置JNDI数据源
- 跪求一个武汉的java软件工程师师傅
你输出下或是debug下就知道
at com.wad.web.action.EditdataAction.execute(EditdataAction.java:38)
错误就是在Action的Cid
应该是这句出问题了~~我原来也经常遇到这样的问题~~其实这是写代码不规范的一种表现,改成下面的代码:
String cd = request.getParameter("cid");
int cid = 0;
if(cd!=null){
cid = Integer.parseInt(cd);
}
int cid = 0;
if(cd!=null){
cid = Integer.parseInt(cd);
}
这样的话可以出来 可是跳到那个页面就是空白的 什么也没有的