<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
字串5
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
字串2
<init-param> 字串5
<param-name>debug</param-name>
<param-value>false</param-value> 字串1
</init-param>
<init-param> 字串9
<param-name>logLevel</param-name> 字串5
<param-value>WARN</param-value> 字串4
</init-param> 字串7
</servlet>
字串8
<servlet-mapping>
字串9
<servlet-name>dwr-invoker</servlet-name> 字串5
<url-pattern>/dwr/*</url-pattern> 字串8
</servlet-mapping> 字串5
编写struts的MultipartRequestHandler :AjaxMultipartRequestHandler 字串8
实现 MultipartRequestHandler接口并在struts-config.xml的controller中替换默认的multipartClass 字串9
<controller> 字串7
<set-property property="multipartClass" 字串2
value="org.springside.components.ajaxupload.AjaxMultipartRequestHandler" />
字串2
</controller> 字串8
其实这个类AjaxMultipartRequestHandler编写很简单,把struts的src源码中的org.apache.struts.upload.CommonsMultipartRequestHandler.java修改一下就可以了: 字串2
在public void handleRequest(HttpServletRequest request)
throws ServletException {
方法中把定义factory之前的那几行代码注释掉然后写入
字串3
UploadListener listener = new UploadListener(request, 30);
FileItemFactory factory = new MonitoredDiskFileItemFactory(listener); 字串7
之后再注释掉
// upload.setSizeThreshold((int) getSizeThreshold(ac)); 字串6
// upload.setRepositoryPath(getRepositoryPath(ac));
字串1
这个类就算写完了
字串6
编写struts上传类 字串6
就用你原来编写的struts上传类 字串5
上传方法代码段示例:
字串3
/**
字串4
* 上传文件
字串8
*/ 字串5
public ActionForward upload(ActionMapping mapping, ActionForm form,
字串9
HttpServletRequest request, HttpServletResponse response)
throws Exception { 字串6
String path = getServlet().getServletContext().getRealPath("/");
log.info(">>>>>>>>>>>>>>>path:" path);
if (form == null) { 字串6
return mapping.findForward("success");

