初始使用thymeleaf开发后端管理页面,遇到一个问题:前端查询后数据通过表格(grid)进行展示,选中一行数据后点击编辑按钮,并跳转编辑页面。这时候出现有些字段无法回显问题,如下图:
如图所示,表格中 员工名称 是有值的,但是跳转到编辑页面后,员工名字消失了。而其他字段的值都带过来了。前端页面的写法几个字段都相同,但是就是数据过不来。
问题排查过程如下:
- 主页面进行表格数据查找时,会给后端发送一个请求,请求参数带的是搜索条件组成的Object。
- 在表格中选中一条数据并点击编辑时,会再给后端发送一个请求,请求参数是选中数据的ID(一般情况下,该请求与主页面搜索表格的请求为两个不同的请求)。
- 查询后端Java服务发现,这两个请求执行的sql语句,使用ID查询时没有进行Join关联到用户名字,仅仅返回用户id,所以前端只得到user_id,但是得不到user_name。从而无法显示。
结论:
找到问题点后,修改后端sql语句解决问题。