日期:2014-05-17  浏览次数:20729 次

新人求助:structs2中如何使用smartupload上传图片的问题
由于之前servlet中用的比较多的是smartupload上传图片,所以对这种比较熟悉。
但是今天将smartupload组件用在structs中时出现了问题。
代码如下:
HttpServletRequest  request= ServletActionContext.getRequest();
 HttpServletResponse response= ServletActionContext.getResponse();
 request.setCharacterEncoding("gb2312");
 SmartUpload smart = new SmartUpload();
 JspFactory jsp = null;
 PageContext context = null;
 jsp = JspFactory.getDefaultFactory();
 context = jsp.getPageContext((Servlet) this, request, response, "", true, 8192, true);
 smart.initialize(context); //上传初始化
 
 smart.upload();
 String pic1 = smart.getFiles().getFile(0).getFileName();//取得图片名称
 smart.getFiles().getFile(0).saveAs("/photodescribe"+File.separator+pic1);//保存该图片
 String pic2 = smart.getFiles().getFile(1).getFileName();
 smart.getFiles().getFile(1).saveAs("/photodescribe"+File.separator+pic2);

但是jsp页面报错。ava.lang.ClassCastException: com.dcst.imicai.action.backGroundAction cannot be cast to javax.servlet.Servlet

求教如何解决???

------解决方案--------------------
类型转换出场,debug下。