struts action 上传文件空指针

来源:百度知道 编辑:UC知道 时间:2024/06/02 04:14:11
用的struts的action调用jspsmartupload来上传文件。可是根本就跳不到Action直接空指针异常。路径核对过多次绝对没问题。。
程序片段如下:
Action

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("==============");
UploadImageForm uif = (UploadImageForm)form;
.......
return null;
}

jsp 表单提交

<form action="<%=request.getContextPath() %>/upload/image.do" method="post" enctype="multipart/form-data" target="hidden_frame">

<input name="fileupload" type="file" />
<input name="uploadname" type="hidden" value="<bean:write name="book" property="id"/>_<bean:write name="book" property="name"/>" />
<iframe name="hidden_frame&

你把target="hidden_frame"去掉再试验。如果还不可以的话你把提交表单后页面的url贴上来

你的问题是不是出在 UploadImageForm uif = (UploadImageForm)form;
这一行?
原因:
使用 enctype="multipart/form-data" 后
form就不能这样得到了,这里的form就是null,所以转换时就错了
应该是这样
SmartUpload smartUpload = new SmartUpload();
smartUpload.initialize(getServlet().getServletConfig(), request,
response);
smartUpload.upload();//下面的语句必须写在这句之后
Request re = smartUpload.getRequest();//
String id=re.getParameter("id");//
你试试

你把异常发上来呀,不然怎么知道哪里出的问题呢?
异常发生的时候,如果没有处理,可以看到完整的堆栈调用过程。