首先我们要了解这个函数
Java代码 复制代码 收藏代码
function uploadSuccess(file, serverData) {   
    try {   
        var progress = new FileProgress(file, this.customSettings.progressTarget);   
        progress.setComplete();   
        progress.setStatus("Complete.");   
        progress.toggleCancel(false);   
  
    } catch (ex) {   
        this.debug(ex);   
    }   
}  


file为上传的文件对象,我们可以获得,file.id、file.name、file.type、file.size 等信息。

serverData的意思是服务器返回的数据,如果你指定页面,那服务器返回的应该就是这个jsp的数据了,这里最好用type=json的格式

action 代码

Java代码 复制代码 收藏代码

 

//……   
//返回页面信息   
       HttpServletResponse response=ServletActionContext.getResponse();   
       response.setContentType("text/html; charset=UTF-8");   
        response.setHeader("Cache-Control", "no-cache");   
        PrintWriter out = response.getWriter();   
        out.write(“action返回的参数”);   
           
        out.flush();   
        out.close();   
  
      return SUCCESS;  

//……
//返回页面信息
       HttpServletResponse  response=ServletActionContext.getResponse();
       response.setContentType("text/html; charset=UTF-8");
        response.setHeader("Cache-Control", "no-cache");
        PrintWriter out = response.getWriter();
        out.write(“action返回的参数”);
        
        out.flush();
        out.close();
         return SUCCESS;



struts.xml
Java代码 复制代码 收藏代码
<package name="upload"[color=red] extends="json-default" [/color]namespace="">   
        <action name="upload" class="com.action.FileUploadAction">   
            <param name="savePath">/upload</param>   
            <result name="success" type="json">/index.jsp</result>   
        </action>   
</package>  

 


这个配置会出现一个bug(如果你以前没用过json插件的话)

当前使用struts2.23版本,使用了jsonplugin-0.3x.jar报错
引用
java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils


解决:
在下载好的Struts2的lib文件夹里找到了以下jar包:
引用
json-lib-2.x.jar

struts2-json-plugin-2.x.x.jar

struts2-junit-plugin-2.x.x.jar


上面三个包加入项目里之后,再删除jsonplugin-0.3x.jar包
 
 
posted on 2013-10-21 14:09  小码农_ZXB  阅读(237)  评论(0编辑  收藏  举报