RSS
热门关键字:  Linux  图形  项目管理  LAMP  java
当前位置 : 主页>开源技术>AJAX技术>列表

采用dwr ajax和struts开发文件上传进度条

来源:中国开源社区 作者:sherman 时间:2007-09-18 点击:

<servlet-name>dwr-invoker</servlet-name>

字串9

<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>

字串3

<param-value>false</param-value> 字串1

</init-param>

字串1

<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

编写strutsMultipartRequestHandlerAjaxMultipartRequestHandler 字串8

实现 MultipartRequestHandler接口并在struts-config.xmlcontroller中替换默认的multipartClass 字串9

<controller> 字串7

<set-property property="multipartClass" 字串2

value="org.springside.components.ajaxupload.AjaxMultipartRequestHandler" />

字串2

</controller> 字串8

其实这个类AjaxMultipartRequestHandler编写很简单,把strutssrc源码中的org.apache.struts.upload.CommonsMultipartRequestHandler.java修改一下就可以了 字串2

public void handleRequest(HttpServletRequest request)

字串9

throws ServletException {

字串6

方法中把定义factory之前的那几行代码注释掉然后写入

字串3

UploadListener listener = new UploadListener(request, 30);

字串4

FileItemFactory factory = new MonitoredDiskFileItemFactory(listener); 字串7

之后再注释掉

字串2

// 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)

字串2

throws Exception { 字串6

String path = getServlet().getServletContext().getRealPath("/");

字串4

log.info(">>>>>>>>>>>>>>>path:" path);

字串2

if (form == null) { 字串6

return mapping.findForward("success");

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册