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!!!

posted @ 2017-03-20 16:02  壹毫米的距离  阅读(130)  评论(0编辑  收藏  举报