黑马程序员技术交流社区

标题: 【上海校区】笔记二(easyui改进所有功能) [打印本页]

作者: 摩西摩西OvO    时间: 2018-7-24 16:45
标题: 【上海校区】笔记二(easyui改进所有功能)

     有了笔记一中建立的前台页面框架,以及对于控制层和拦截器的配置之后,只需要对于login.ftl文件进行简单的修改即可改善登录功能。

登录改进

1、修改验证码验证的控制层YanzhengmaController.java,修改验证码的验证方式,改用easyui中的异步验证

2、为login.ftl页面中的表单添加表单验证
      也就是为用户名和密码添加非空验证。

3、登录方法的修改
      只有当所有的表单验证通过之后才可以提交内容,进行登录

      其他的后台验证方法都不需要进行修改。

列表功能改进

      之前的列表页面中,需要有两个控制层方法才可以进行一步的数据查询,并且在进行数据列表的时候还需要手动的进行数据的输出,以及分页的配置。而使用了easyui中的分页组件,以及datagrid之后,明显没有那么复杂了。但是,使用easyui中的组件,很多的属性名称必须要与之对应起来,否则无法接受与传送数据。
      对于easyui的分页组件中,它在列表发送请求之后,会自动的发送两个参数:①page:当前页,②rows:表示每页显示的条数。所以如果还想继续使用之前的分页模式,就必须将PageUtil.java类中的属性名称进行修改。
1、修改PageUtil.java类

     同时在进行查询之后,页面中的组件会接收①rows:所有查询出来的数据和②total:数据的总条数两个参数。所以还需要修改BookServiceImpl.java中的分页设置以及返回的内容。并且也没有必要在使用另外ServicePageUtil.java类来进行操作,因为其要求的返回值内容已经非常少了。

      分页修改好之后,还需要修改控制层的方法,所以需要修改BookController.java,删除show()方法,只保留一个list()方法即可
2、修改BookController.java类

3、修改listBooks.ftl,并且删除showBooks.ftl文件。由于所有操作都要从listBooks.ftl文件出发,所以先修改列表操作。

      其中列表展示页面,包括了单选、多选、下拉列表、图片、以及多表查询返回的内容的数据展示时,数据的格式化操作。对于分页可以看出,框架一出现,所有的分页操作几乎变成了内置的,而且还是最简化的,不过你如果想使用人家的框架,必须要符合人家的要求。这一点会比较难受。

条件查询

      当数据可以展示出来之后,面临的自认就是如何快速定位到想要的数据,所以还需要继续改进条件搜索的方式,也就是实现user_search()方法,并且需要设置相应的查询表格,而在设置过程中,又会接触到另一种下拉列表的生成,在easyui中叫做组合框comoboBox。
1、在显示页面补充条件查询所需要的表格,并且进行格式布局设置

      其中根据类型搜索以及根据出版社搜索,这两个操作都是需要生成对应的下拉列表,由于需要从数据库中读取,并且会自动生成,而且其默认不会选中value值为“-1”的"<option>”,所以还需要进行修改book-mapper.xml中之前的类型出版社条件查询的条件,并且还需要在其各自的业务层实现类中,设置第一个默认被选中的值,操作如下:

①修改BookTypeServiceImpl.java类中的内容

②修改BookPressServiceImpl.java类的内容

③修改book-mapper.xml文件中的判断条件

④为类型和出版社设置值,并且建立user_search()方法

其中的作用已经描述的非常清楚了。至此,条件查询以及列表展示都已经修改完成。然后开始设置添加数据,和修改数据,以及状态修改,删除,批量删除操作。
      删除和批量删除操作使用的是同一个方法,所以在此处将其合并,不在分开使用,并且,也不需要自己手动的设置全选反选的操作,只需要在datagrid初始化的columns中添加新的行“ {field:'suibian',checkbox:true}”,其中的“field”名字随意,如果要添加其他的与具体数据库列无关之类的操作,也可以按照类似的方式。

批删操作

      首先需要在datagrid中的toolbar中继续添加一个新的按钮

      注意,按钮之间使用“ '_' ”间隔,然后实现del_all()方法

用户的上下架操作

      在datagrid的toolbar中添加新的工具

      编辑edit_status()方法

      本来希望为每一行数据都添加一个按钮,然后通过onclick()事件来完成操作的,可是,加了linkbutton的方式不太懂,而且即使加上了,按钮在主题中并不会显示为一个button的样式。而下载图片的判断与此操作完全相同,所以略过。

增加和修改数据功能

      在listBooks.ftl文件中添加datagrid中的toolBar中添加新的工具

①完成open_add_dialog()方法

      然后修改addBook.ftl文件,该页面不需要提交表单,所以不需要提交按钮,同时下拉框可以使用easyui的组合框读取完成自动设置相应的内容,与listBooks.ftl文件中的条件查询中的下拉框生成类似。

②完成open_edit_dialog()方法

    至此,基本的内容改造,就已经完成了。在改造的过程中发现,真正的MVC中,前后台是完全独立的,修改前台页面的展示,并不会修改很多的后天代码,只是参数不合适的时候,才可能出现,不过这也可能是设计的不合理所造成的耦合。



作者: 不二晨    时间: 2018-7-25 11:09
奈斯,优秀
作者: wuqiong    时间: 2018-7-25 14:46

作者: 摩西摩西OvO    时间: 2018-7-26 10:23

作者: 吴琼老师    时间: 2018-7-26 16:23





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2