struts2 的session 问题
// 上传图片,并返回图片名
public String upload() throws Exception {
// 实现上传
// 将成功上传的图片名 放在session中 ,用于前台表单显示,并统一提交
String imageName = Common.upload(getFile(), getFileFileName());
List<String> imageNames = (List<String>) session.get("imageNames");
if (imageNames == null) {
imageNames = new ArrayList<>();
imageNames.add(imageName);
session.put("imageNames", imageNames);
} else {
imageNames.add(imageName);
session.put("imageNames", imageNames);
}
System.out.println("session 中imageNames:"+ Common.getSession().get("imageNames"));
//有值,Common.getSession() 就是 ActionContext.getContext().geSession();
return upload;
}
public String manage() throws Exception {
System.out.println(Common.getSession().get("imageNames"));//null
return upload;
}
如上,两个方法都是同一个action中的方法,(action 也都实现了SessionAware接口。)upload方法上传图片,因为前台使用的是swfupload插件,调试观察到,上传多张图片时,一共有几张图片,就执行几遍upload方法,为了便于表单的提交,我的想法是,当图片都上传成功后,将图片名都放在session中,然后将 这些图片名和表单中的其他元素统一再提交。现在的问题是: upload中session 中imageNames是有值的,可是页面却取不到 (页面是这样写的: <s:property value="#session.imageNames" /> )通过<s:debug/> 标签看,session也是空。更奇怪的是: 同一个action中的manage方法中 也取不到session中的imageNames。