页面CRUD的细节
save 和 update 方法的一点注意:
public String add() throws Exception{
/**
* struts2的模型驱动的作用两个
* 1、获取页面表单的数据
* 2、对数据进行回显
* 说明:最好不要把模型驱动的对象和dao层发生交互
*/
Department department = new Department();
BeanUtils.copyProperties(this.getModel(), department);
this.departmentService.saveDeparment(department);
return action2action;
}
struts2的模型驱动的作用两个
1、获取页面表单的数据
2、对数据进行回显
说明:最好不要把模型驱动的对象和dao层发生交互
如果进行save和update,就会直接将这个模型对象和dao交互,这样不好;
可以使用BeanUtils.copyProperties(this.getModel(),department);
假设,在update里面有这个代码:
this.departmentDao.getDepartmentById(department.getDid());
会报错误是:a different object with the same identifier value was already associated with the session;
就是session里面不能有相同标识的两个对象;
因此开发要注意:应用程序的数据只能从hibernate拿过来;然后应用程序修改之后再写回去;这样就可以保证hibernate和
应用程序之间一个对象传递;
前面就是将其转为模型对象,然后写回去,这样报安全性错误;
VO BO
很多企业中有这两个概念:VO 就是JavaBean,跟页面之间转化的;BO 就是Business 业务逻辑相关的,这两个之间是要相
互转化的;
简单样式;
增加:
修改:将id放进隐藏域;
浙公网安备 33010602011771号