SWFUpload接受服务器Action返回的参数

时间:2022-05-07 16:47:02
首先我们要了解这个函数
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 代码

 

//……
//返回页面信息
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

 

这个配置会出现一个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包