webwork学习3

阅读更多
SESSION的使用及文件上传
在WebWork2中使用SESSION是很简单的事情,导入类“com.opensymphony.webwork.ServletActionContext”之后,可以这样操作SESSION:
Map session = (Map)ServletActionContext.getContext().getSession();
session.put("name", "tom");
session.get("name");
之后在视图(这里指jsp文件)用“”的方式得到session的值
(注:可用“ServletActionContext.getResponse()”方法得 “javax.servlet.http.HttpservletResponse”、 “ServletActionContext.getRequest()”方法得 “javax.servlet.http.HttpServletRequest”,用来对cookie进行写入及读取操作,这样就可直接用底层的 Servlet一些类了)

在WebWork2中上传文件也是很简单的事情
首先,在"WEB-INF/classes/"目录下建立文件“webwork.properties”,内容如下:
----------------------

webwork.i18n.encoding=gbk
webwork.locale=zh_cn
webwork.multipart.saveDir=/tmp
webwork.multipart.maxSize=5242880
webwork.multipart.parser=com.opensymphony.webwork.dispatcher.multipart.
PellMultiPartRequest


----------------------

在Action中可以这样写:

import com.opensymphony.webwork.dispatcher.multipart.MultiPartRequestWrapper;
import com.opensymphony.xwork.ActionSupport;
import com.opensymphony.webwork.ServletActionContext;
import java.io.File;

public void execute() throws Exception {
MultiPartRequestWrapper wrapper = (MultiPartRequestWrapper)ServletActionContext.getRequest();
File file = wrapper.getFile("uf");
if (file == null) {
return ERROR;
}
this.setFileName(file.getName());
file.renameTo(new File("/tmp/" + file.getName()));
return SUCCESS;
}


这样就把文件(“表单中文件字段的名称为:uf”)上传并保存在了“/tmp/”目录下。

MultiPartRequestWrapper类的API可参考:http://www.opensymphony.com/webwork/api/ 


你可能感兴趣的:(Webwork,Servlet,JSP,Web)