zoukankan      html  css  js  c++  java
  • 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 ,保存删除操作也会相对简单,简单快捷的方法。

  • 相关阅读:
    Bootstrap基础(七):按钮
    Bootstrap基础(六):表单
    Bootstrap基础(五):表格
    Bootstrap基础(四):代码
    Bootstrap基础(三):排版
    Bootstrap基础(二):网格系统
    Bootstrap基础(一):CSS 概览
    本人承接各种.Net网站制作,软件项目等业务。完美帮您定做
    iOS沙盒路径的查看和使用
    asp.net 源码坊4-6源码发布
  • 原文地址:https://www.cnblogs.com/djhzzl/p/14096824.html
Copyright © 2011-2022 走看看