Springboot+Thymeleaf简单整合后续问题及完善

Springboot+Thymyleaf简单整合——

问题解决及后续功能更新

前文:https://www.cnblogs.com/djhzzl/p/14092783.html

 在前后端数据交互时,使用如下方法,当然拼接URL也是可以的。

<a th:href="@{deleteEmployee(employee_id=${employee.employee_id})}"><input type="submit" value="删除"></a>

Input中的的name属性与javabean中名字要相同

前端界面中,提交表单form中的input的属性th:value="${ }"中的属性名要与Controller的方法中的ModelMap固定的对象的名字相同modelMap.put(" ",);

 如 Update.html:

th:value="${employee.employee_id}"

//Controller:

EmployeeController.java
modelMap.put("employee",employee);

 

编辑功能(update)

编辑分析

通用分析:

1.   跳转到编辑页面

2.   页面上显示所点击条目信息

3.   修改完成后点击确定,修改信息

4.   点击修改后,跳转到原页面

技术分析:

不能直接在html页面之间直接传数据,因为容易缺失数据。

需要通过控制器:

1.   获取传过来的id

2.   根据id查询员工信息

3.   查询所有部门信息

4.   将员工信息和部门信息绑定modelMap,发送到编辑页面

控制器:

1.   接收表单传递的数据;

2.   修改;

(重复工作3-5)

3.   查询所有部门

4.   查询该部门下的所有员工

5.   绑定modelMap,发送到页面

( 可以使用  input type="hidden" 隐藏域 存储id使id不显示,更好效果加入使用span)

职员编号  :<span  th:text="${employee.employee_id}"/><br/>

 编辑功能

1,使用关联查询,不破坏表结构

此时,在实现编辑功能,前后端数据传递时,为了使下拉框表示的 部门名 对应 该职员所在的 部门 (显示department_name),使用  关联查询,连接employee和department表。

Employee1Mapper中:

    
    <resultMap id="employeeMap1" type="com.djh.demo.bean.Employee">
        <id property="employee_id" column="employee_id"/>
        <result property="employee_name" column="employee_name"/>
        <result property="employee_age" column="employee_age"/>
        <association property="department" javaType="com.djh.demo.bean.Department">
        <id property="department_id" column="department_id"/>
        <result property="department_name" column="department_name"/>
        </association>
    </resultMap>


<select id="selectoneid" resultMap="employeeMap1">
        select
        e.employee_id,
        e.employee_name,
        e.employee_age,
        d.department_id,
        d.department_name
        from
        employee as e
        inner join
        department as d
        on
        e.department_id = d.department_id
        where
        e.employee_id = #{employee_id}
    </select>
EmployeeMapper.xml

需注意,此时实体类中,调用的department_id为department的对象,所以在前端使用department_id时,需要从department对象内调用,

注意对象的调用

如:

th:selected="${department.department_id}==${employee.department.department_id}?true:false"

2,在javabean加个部门id  ,即在员工表加入外键department_id ,保存删除操作也会相对简单,简单快捷的方法。

 

posted @ 2020-12-07 15:20  秃头不用洗发水  阅读(156)  评论(0编辑  收藏  举报