首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

WebWork中运用execAndWait的使用总结

2012-10-09 
WebWork中使用execAndWait的使用总结在项目中使用excel将用户数据导入系统,由于导入的数据量不断增多,逻辑

WebWork中使用execAndWait的使用总结

在项目中使用excel将用户数据导入系统,由于导入的数据量不断增多,逻辑的判断和处理也越来越复杂,为了提高导入的速度和用户体验,决定采用多线程处理导入数据,并在页面给用户提示进度。

WebWork用的是2.2.7。

原来上传使用的是WebWork默认的上传拦截器fileUpload,加上execAndWait以后,偶尔会提示文件不存在。

?

public String intercept(ActionInvocation invocation) throws Exception {Object action = invocation.getAction();if (action != null && action instanceof ImportSetWorkTurnAction) {ImportSetWorkTurnAction setWorkTurnAction = (ImportSetWorkTurnAction) action;File srcFile = setWorkTurnAction.getFile();if (srcFile != null) {File destFile = new File(srcFile.getPath() + ".bak");FileUtils.copyFile(srcFile, destFile);setWorkTurnAction.setFile(destFile);}}return invocation.invoke();}

?运行之后发现还是有问题,setWorkTurnAction.getFile()拿到的文件为null,而action中的文件判空却显示文件不为空,检查一下,发现原来是我拦截器的

顺序有问题,我将新的拦截器直接放到了fileUpload之后,之后是defaultStack,而在defaultStack没执行之前上传的文件还没有为action的属性file赋值,所以在我的拦截器里就拿不到文件。将defaultStack放到新拦截器之后问题解决。

未完待续 。。。

热点排行