20170320_系统管理_用户管理1_反射得到model实例
|-用户管理增删改查框架
|-代码结构优化
|-第一个改进:合并dao与service层。
|-第二个改进:合并getModel,代码声明问题。
ps: 通过反射获得泛型的真实类型
通过反射得到model的实例。
包裹代码块异常:Shift + Alt + z
问题遗留 FIXME、TODO、XXX
EL 与 OGNL区分
|-用户管理增删改查实现
=====================================================================
1、action
2、struts.xml
3、service
4、serviceImpl
5、dao
6、daoImpl
7、action注解
=====================================================================
第一个改进:合并dao与service层。
重复麻烦:
解决方式,即删除dao层。直接让service层直接调用Session.
1、删除dao包
2、注释掉test
3、修改service层
删除service接口中的方法,继承baseDao.
4、修改serviceImpl
修改前:
修改后:
修改前:
修改后:
4、事务修改:
第二个改进:合并getModel,代码声明问题。
更改前
更改后:
通过反射得到泛型的实例步骤:
1、写注释 + 通过反射得到model的实例 + 抛异常
2、得到model的真实类型
要实现ModelDriven接口;
=====================================================================
系统管理crud实现:
1、action填写代码:
ps: 这里有个问题,部门显示应是树状结构,此时先使用查询所有代替。
2、页面jsp
(1)拷贝源代码,删除演示
(2)路径替换
=====================================================================
ps:
list代表选项信息的集合。有两个值:
一个:显示什么值
另一个:传递给服务器什么值。
例如:看到的是男女,传给服务器的是1,2。所以显示的值和传的值不一样。
listKey:用来当提交的值
listValue:用来当显示的值
若果list="map",那么listKey 和 listValue就可以不用写了
那么怎么给list传递一个map性别的集合呢?
有两种方式:
一种:可以构建一个map集合,然后在list处引用
另一种:使用ognl表达式 #{'':'','':''} 构建简单的map集合。
这两个效果是一样的,只是下面的比较简单。
也可以是下面这样:
那么什么时候加%{ }?什么时候不加%{}?
例如:
EL 与 OGNL区分:
=====================================================================
(3)改标签
列表:循环
表单:<s:form>
add.jsp中:
=====================================================================
错误!!!:
系统管理_用户管理 END!!!