假设有这么一个需求,我们需要在前端展示当前学校有多少个系。这个系的数据不能写死,因为后面可能随时会修改或者增加系的信息,而写死后每次修改系信息后就要回来修改前端代码,这是很麻烦的。这一篇博客就来记录一下怎么操作。


有个思路就是后端写好接口,用来查询数据库获取当前的所有系后,存储到request域中。然后前端每次访问该页面都请求一次该接口,得到数据后遍历并填充到下拉表单中(select).

这里servicedao的代码略过了,就是查询数据库并返回,po出controller的代码:

controller:

    //遍历所有部门,将结果保存到request域中
    @GetMapping("/get")
    public String getAllDepartment(HttpServletRequest request){
        List<Department> allDepartment = departmentService.getAllDepartment();

        request.setAttribute("allDepartment",allDepartment);

		//demo是html页面的名字,department是表示你要刷新到哪个区域,th:fragment='department'
        return "demo::department";
    }

html代码:

<form>
	<!--th:fragment="department"标记一下该区域为要刷新请求的区域,这个区域的id为department-->
    <div id="department" th:fragment="department">
    <select>
    <!--遍历request域中的数据,并填充到下拉表单中-->
        <option th:each="department:${allDepartment}" th:value="${department['department_id']}" th:text="${department['department_name']}"></option>
    </select>
    </div>
</form>

jquery的代码:

    <script src="webjars/jquery/3.5.1/jquery.min.js"></script>

    <script>
		//页面加载时调用函数
        $(function () {
        	//发送请求到对应请求路径
            $('#department').load("/department/get");
        })
    </script>

运行结果:

在这里插入图片描述

并且每一个选项都有对应的id值:

在这里插入图片描述

bingo~

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐