由于之前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下。