通过某个链接,链接到initModulePermissionData.action内,代码如下,该方法主要的作业是初始化页面需要的修改数据:
- Java code
public String initModulePermissionData(){ List<SALM> salms = salmService.findAllSALM(); this.setListSalm(salms); //set get List<DEPT> depts = deptService.findAllDEPT(); this.setDeptList(depts); //set get List<ModuleUsers> moduleusers = moduleUsersService.findModuleUsersByModuleId(this.getModuleVo().getId()); this.setModuleUsersList(moduleusers); //set get Module temp = moduleService.get(this.getModuleVo().getId()); this.setModule(temp); //set get return SUCCESS; //返回sucess进入modify.jsp页面}
执行完initModulePermissionData方法后进入modify.jsp!在该页面中我有一个存储按钮,点击存储按钮之后表单提交到
saveModulePermissionData方法中,执行修改动作!
- Java code
public String saveModulePermissionData(){ if(this.getModuleVo().getView() != null){ System.out.println(this.getModuleVo().getId()); System.out.println(this.getModuleVo().getView().length); moduleUsersService.savaOrUpdate(this.getModuleVo().getId(), this.getModuleVo().getView()); } List<SALM> salms = salmService.findAllSALM(); this.setListSalm(salms); List<DEPT> depts = deptService.findAllDEPT(); this.setDeptList(depts); List<ModuleUsers> moduleusers = moduleUsersService.findModuleUsersByModuleId(this.getModuleVo().getId()); this.setModuleUsersList(moduleusers); Module temp = moduleService.get(this.getModuleVo().getId()); this.setModule(temp); return SUCCESS; }
执行完修改之后我又重新初始化initModulePermissionData方法体中的数据,后台数据有变化,但是修改之后页面的现实数据没有变化!
是不是request作用域的问题。
我都是通过配置get和set方法来取值的。
modify.jsp的取值代码:
- Java code
List<SALM> salms = (List<SALM>)request.getAttribute("listSalm"); Module module = (Module)request.getAttribute("module"); List<DEPT> depts = (List<DEPT>)request.getAttribute("deptList"); List<ModuleUsers> moduleusers = (List<ModuleUsers>)request.getAttribute("moduleUsersList");
------解决方案--------------------
貌似与request没什么关系,是不是更新方法的底层的事务没有提交