页面使用easyUI 制作,要求:
1、字典名称 与 字典编码 可以同时进行模糊查询,需要将值传入后台,然后使用封装的方法进行查询,返回页面的显示树。
2、录入功能,点击出现小页面,填入名称和编码后将内容增加到数据库中。
3、编辑功能,需要先选择一个项目内容,点击后将该项目的id传入后台,后台查询数据库后获取实体类,名称不许更改readonly,将修改过的数据保存到数据库中。update()
4、删除功能,需要先判断是否下面有子节点,如果存在子节点,那么不允许删除。
5、查看类型功能,点击后出现对应的子节点内容,需要将此id传入后台,查询数据库生成实体类,将需要的内容显示在右侧小视图中,同样的右侧子节点仍然有增删改的功能。
其中遇到的小问题:
主要还是easyUI与后端传值的问题,不太理解easyUI,
1、点击删除时,程序运行到deleType方法的typegroup.getTSTypes()时,运行不下去,无法得到结果,我将对应的实体类中的onetomany关系中的fetch = FetchType.lazy 改为了 EAGER 即可运行。
2、点击查看类型时,右侧列表的子节点的结果显示不正确。主要是出传递的参数和路径的问题了,我的这就是传值的问题了,没有将选择的父节点的值传入到右侧小视图的显示页面中,所以子节点无法解析出是哪个副节点的内容。设置request.setAttribute(),在子节点的显示页面使用jstl表达式${}即可,说明一点,此jstl表达式可以写到路径中,不需要用‘’或“”另隔开。
3、小视图的表中编辑,没有获取从后台传递的参数,可能在传递参数的地址中使用?与&混乱造成的。
4、最头疼的问题,加载页面显示时,出现的内容如表一,如果子节点有几个那么列表中的父节点就显示几次,一直解决不出来,controller层没问题,页面加载时将其他的路径都关闭,只能访问页面对树的读取,还是不行,暂时只剩下这一个问题解决不出。
终于解决了,是我在数据库的查询犯得错误,页面没有报错,只是后台传给前台的值重复,在后台加上过滤就好了。注意细节!!!