What does your debugger tell you is null? On Mon, Apr 23, 2012 at 10:32 AM, rahul bhalla <urcoolfrien...@gmail.com>wrote:
> Hello Every one > I m new Struts 2 and i m trying to upload a image on server with the help > of struts <http://www.coderanch.com/forums/f-58/Struts> 2 but i was unable > to do that i m pasting my code here .. > please tell where i m wrong > > here is my action class > > <http://www.coderanch.com/t/578754/Struts/struts-want-upload-image-but#> > package com.webportal.admin.action; > import java.io.File; > import javax.servlet.http.HttpServletRequest; > > import org.apache.commons.io.FileUtils; > import org.apache.struts2.ServletActionContext; > import org.apache.struts2.interceptor.ServletRequestAware; > > import com.opensymphony.xwork2.ActionSupport; > import com.webportal.admin.model.ImageDetail; > > public class SetInfo extends ActionSupport implements > ServletRequestAware{ > private ImageDetail imageDetailBean; > HttpServletRequest servletRequest; > private static final long serialVersionUID = 1L; > public String execute() throws Exception > { > boolean done=upload(); > if(done) > return "success"; > else > return "input" > } > private boolean upload() { > try { > String filePath = > servletRequest.getSession().getServletContext().getContextPath(); > System.out.println("\nServer path:" + filePath+ > " "+imageDetailBean.getLogoName()+"......."); > File fileToCreate = new > File(filePath, imageDetailBean.getLogoName()); > > FileUtils.copyFile(imageDetailBean.getLogo(), fileToCreate); > } catch (Exception e) { > e.printStackTrace(); > addActionError(e.getMessage()); > > return false; > } > return true; > > } > > public ImageDetail getImageDetailBean() { > return imageDetailBean; > } > > public void > setImageDetailBean(ImageDetail imageDetailBean) { > this.imageDetailBean = imageDetailBean; > > } > public void > setServletRequest(HttpServletRequest servletRequest) { > this.servletRequest = servletRequest; > } > } > > > my beans class is > package com.webportal.admin.model; > > import java.io.File; > > public class ImageDetail { > > private String logoContentType; > private String logoName; > private File logo; > > public File getLogo() { > return logo; > } > public void setLogo(File logo) { > this.logo = logo; > } > > > public String getLogoContentType() { > return logoContentType; > } > public void setLogoContentType(String logoContentType) { > this.logoContentType = logoContentType; > } > > > public String getLogoName() { > return logoName; > } > > public void setLogoName(String logoName) { > this.logoName = logoName; > } > > public ImageDetail() { > super(); > System.out.print("from the constructor Image detail"); > } > > } > > > > *now my jsp from where i set my bean > * > > <s:form action="settingHeader" cssClass="form" enctype= > "multipart/form-data" method="post" > > <s:div cssClass="fileinputs"> > <s:file key="imageDetailBean.logo" /> > </s:div> > </s:form> > > my property file > <http://www.coderanch.com/t/578754/Struts/struts-want-upload-image-but#> > > imageDetailBean.logo=Logo > > > > > struts.xml > > <http://www.coderanch.com/t/578754/Struts/struts-want-upload-image-but#> > <action name="settingHeader" class= > "com.webportal.admin.action.SetInfo" method="execute" > > <interceptor-ref name="fileUpload"> > <param name="maximumSize">2097152</param> > <param name="allowedTypes"> > image/png,image/gif,image/jpeg,image/jpg > </param> > </interceptor-ref> > <interceptor-ref name="defaultStack"> > </interceptor-ref> > <result name="input">/success.jsp</result> > <result name="success">/error.jsp</result> > </action> > > when i deploy my application i got nullpointerexception and on line number > 28 of the action class i found it prints null on server > please suggest me what can i do... > thanking you > > > ----------- > Regards > Rahul Bhalla > (9953225211) >