历史 | 登录     查看当前页的打印版本.  
问题详情 (XML | Word | Printable)

Key: EASYJWEB-26
类型: 问题 问题
状态: Open Open
优先级: Major Major
开发者: williamraym
报告人: easyjweb
投票: 0
关注人: 0
操作

复制 问题
创建 子任务
如果你是 登录 你不能看到更多操作.
easyjweb

scope为session的AbstractPageCmdAction,不能自动reset。

创建: 24/十二月/07 10:29 下午   更新: 26/十二月/07 12:05 下午
模块:
影响版本:
修复版本:

环境: easyjweb1.0m3+jdk5


 描述  « Hide
当Module的scope为session的时候,针对每一个会话用户会创建一个Bean,但是在这个bean执行的时候,使用page方法会改变this.forwardPage的值,下一次重新调用的时候,这个值仍然存在。导致如果下一次调用的方法为惯例代替配置,则会出现仍然使用上一次的forwardPage值,而不会重新按惯例构造新的forwardPage。
@Action(scope = "session")
public class RegisterAction extends AbstractPageCmdAction {
private UserService service;
@InjectDisable
private User user;

public void doBasicInfo(WebForm form) {
form.addPo(user);
}
public void doFinish(WebForm form) {
service.saveUser(user);
form.addPo(user);
user = null;
}
}

 所有   备注   改动记录      排列顺序:
daxia - 26/十二月/07 12:05 下午
这个问题已经解决,AbstractPageCmadAction的execute中增加了一句reset();用于清除forwardPage及command等属性值。