java - Spring web MVC Hibernate File upload error -
i making spring project trying upload image
editprofile.jsp
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <table> <tr> <td> <form:form action="${pagecontext.request.contextpath}/editprofilehandler" method="post" modelattribute="userform" enctype="multipart/form-data"> <table> <tr> <td> first name : </td> <td> <form:input path="firstname" value="${userdetails[0].firstname }" /> <form:errors path="firstname" class="error" /> </td> </tr> <tr> <td> last name : </td> <td> <form:input path="lastname" value="${userdetails[0].lastname }" /> <form:errors path="lastname" class="error" /> </td> </tr> <tr> <td> emailid name : </td> <td> <form:input path="emailid" value="${userdetails[0].emailid }" /> <form:errors path="emailid" class="error" /> </td> </tr> <tr> <td> mobile no : </td> <td> <form:input path="mobileno" value="${userdetails[0].mobileno }" /> <form:errors path="mobileno" class="error" /> </td> </tr> <tr> <td> date of birth : </td> <td> <form:input path="dateofbirth" value="${userdetails[0].dateofbirth }" /> <form:errors path="dateofbirth" class="error" /> </td> </tr> <tr> <td> gender : </td> <td> <form:input path="gender" value="${userdetails[0].gender }" /> <form:errors path="gender" class="error" /> </td> </tr> <tr> <td> profile image : </td> <td> <input type="file" name="uploadimage" /> </td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" value="update" /> </td> </tr> </table> </form:form> </td> </tr> </table>
controllerr.java
@suppresswarnings("resource") @requestmapping("/editprofilehandler") public modelandview editprofilehandlercontroller(@modelattribute("userform") users users , modelmap model, httpsession session) { if(session.getattribute("session_user") != null){ try { inputstream inputstream = null; outputstream outputstream = null; multipartfile file = users.getimage(); string filename = file.getoriginalfilename(); inputstream = file.getinputstream(); file newfile = new file("c:/documents , settings/smart/workspace/pir/webcontent/resources/images/profile/" + filename); if(!newfile.exists()) { } outputstream = new fileoutputstream(newfile); int read = 0; byte[] bytes = new byte[1024]; while((read = inputstream.read(bytes)) != -1) outputstream.write(bytes, 0, read); } catch(exception e){} list<object[]> userdetails = this.userfunctionsservice.getuserdetails(((userlogindetails)session.getattribute("session_user")).getemailid()); model.addattribute("userdetails", userdetails); return new modelandview("editprofile", model); } else return new modelandview("redirect:/"); }
users.java
@entity @table(name = "users") public class users { @notnull @id @column(name = "userid") private int userid; @notnull @size(min=3, max=50) @pattern(regexp = ".+@.+\\.[a-z]+") @column(name = "emailid") private string emailid; @notnull @size(min=3, max=50) @column(name = "firstname") private string firstname; @notnull @size(min=3, max=50) @column(name = "lastname") private string lastname; @notnull @size(min=3, max=50) @column(name = "password") private string password; @notnull @column(name = "mobileno") private string mobileno; @column(name = "imageurl") private string imageurl; @notnull @datetimeformat(pattern="mm/dd/yyyy") @column(name = "dateofbirth") private date dateofbirth; @notnull @column(name = "gender") private string gender; @notnull @column(name = "usertype") private string usertype; @lob private multipartfile image; public void setuserid(int userid) { this.userid = userid; } public int getuserid() { return userid; } public void setemailid(string emailid) { this.emailid = emailid; } public string getemailid() { return emailid; } public void setfirstname(string firstname) { this.firstname = firstname; } public string getfirstname() { return firstname; } public void setlastname(string lastname) { this.lastname = lastname; } public string getlastname() { return lastname; } public void setpassword(string password) { this.password = password; } public string getpassword() { return password; } public void setmobileno(string mobileno) { this.mobileno = mobileno; } public string getmobileno() { return mobileno; } public void setimageurl(string imageurl) { this.imageurl = imageurl; } public string getimageurl() { return imageurl; } public void setdateofbirth(date dateofbirth) { this.dateofbirth = dateofbirth; } public date getdateofbirth() { return dateofbirth; } public void setgender(string gender) { this.gender = gender; } public string getgender() { return gender; } public void setusettype(string usertype) { this.usertype = usertype; } public string getusertype() { return usertype; } public void setimage(multipartfile image) { this.image = image; } public multipartfile getimage() { return image; } }
error:
java.lang.numberformatexception: input string: "imageurl" java.lang.numberformatexception.forinputstring(numberformatexception.java:65) java.lang.integer.parseint(integer.java:492) java.lang.integer.parseint(integer.java:527) javax.el.arrayelresolver.coerce(arrayelresolver.java:166) javax.el.arrayelresolver.getvalue(arrayelresolver.java:46) org.apache.jasper.el.jasperelresolver.getvalue(jasperelresolver.java:104) org.apache.el.parser.astvalue.getvalue(astvalue.java:183) org.apache.el.valueexpressionimpl.getvalue(valueexpressionimpl.java:185) org.apache.jasper.runtime.pagecontextimpl.proprietaryevaluate(pagecontextimpl.java:1026) org.apache.jsp.view.profile_jsp._jspservice(profile_jsp.java:78) org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70) javax.servlet.http.httpservlet.service(httpservlet.java:728) org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:432) org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:390) org.apache.jasper.servlet.jspservlet.service(jspservlet.java:334) javax.servlet.http.httpservlet.service(httpservlet.java:728) org.apache.jasper.runtime.jspruntimelibrary.include(jspruntimelibrary.java:954) org.apache.jasper.runtime.pagecontextimpl.doinclude(pagecontextimpl.java:684) org.apache.jasper.runtime.pagecontextimpl.include(pagecontextimpl.java:678) org.apache.tiles.request.jsp.jsprequest.doinclude(jsprequest.java:123) org.apache.tiles.request.abstractviewrequest.dispatch(abstractviewrequest.java:47) org.apache.tiles.request.render.dispatchrenderer.render(dispatchrenderer.java:47) org.apache.tiles.request.render.chaineddelegaterenderer.render(chaineddelegaterenderer.java:68) org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:259) org.apache.tiles.template.insertattributemodel.renderattribute(insertattributemodel.java:188) org.apache.tiles.template.insertattributemodel.execute(insertattributemodel.java:132) org.apache.tiles.jsp.taglib.insertattributetag.dotag(insertattributetag.java:299) org.apache.jsp.template.maintemplate_jsp._jspx_meth_tiles_005finsertattribute_005f2(maintemplate_jsp.java:340) org.apache.jsp.template.maintemplate_jsp._jspservice(maintemplate_jsp.java:130) org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70) javax.servlet.http.httpservlet.service(httpservlet.java:728) org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:432) org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:390) org.apache.jasper.servlet.jspservlet.service(jspservlet.java:334) javax.servlet.http.httpservlet.service(httpservlet.java:728) org.apache.tiles.request.servlet.servletrequest.forward(servletrequest.java:265) org.apache.tiles.request.servlet.servletrequest.doforward(servletrequest.java:228) org.apache.tiles.request.abstractclientrequest.dispatch(abstractclientrequest.java:57) org.apache.tiles.request.render.dispatchrenderer.render(dispatchrenderer.java:47) org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:259) org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:397) org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:238) org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:221) org.apache.tiles.renderer.definitionrenderer.render(definitionrenderer.java:59) org.springframework.web.servlet.view.tiles3.tilesview.rendermergedoutputmodel(tilesview.java:132) org.springframework.web.servlet.view.abstractview.render(abstractview.java:303) org.springframework.web.servlet.dispatcherservlet.render(dispatcherservlet.java:1244) org.springframework.web.servlet.dispatcherservlet.processdispatchresult(dispatcherservlet.java:1027) org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:971) org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:893) org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:967) org.springframework.web.servlet.frameworkservlet.doget(frameworkservlet.java:858) javax.servlet.http.httpservlet.service(httpservlet.java:621) org.springframework.web.servlet.frameworkservlet.service(frameworkservlet.java:843) javax.servlet.http.httpservlet.service(httpservlet.java:728)
imageurl
column varchar in mysql. how solve error?
edit
profile.jsp
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <table> <tr> <td valign="top"> <a href="${pagecontext.request.contextpath }/changeimage"> <img src="${pagecontext.request.contextpath }/resources/images/profile/${userdetails[0].imageurl }" height="145" width="200" /> </a> </td> <td> <table> <tr> <td> first name : </td> <td> <c:out value="${userdetails[0].firstname }" /> </td> </tr> <tr> <td> last name : </td> <td> <c:out value="${userdetails[0].lastname }" /> </td> </tr> <tr> <td> emailid name : </td> <td> <c:out value="${userdetails[0].emailid }" /> </td> </tr> <tr> <td> mobile no : </td> <td> <c:out value="${userdetails[0].mobileno }" /> </td> </tr> <tr> <td> date of birth : </td> <td> <c:out value="${userdetails[0].dateofbirth }" /> </td> </tr> <tr> <td> gender : </td> <td> <c:out value="${userdetails[0].gender }" /> </td> </tr> </table> </td> <td align="right" valign="top"> <a href="${pagecontext.request.contextpath }/editprofile">edit</a> </td> </tr> </table>
you're missing loop transforms list<object[]>
list<user>
before placing list model in controllerr.java.
or should change code
which return list<user>
instead of list<object[]>
.
hope resolve issue
Comments
Post a Comment