springmvc + thymeleaf中ajax get请求

本文介绍如何在Spring Boot和Thymeleaf环境中使用Thymeleaf碎片模板结合Ajax实现动态加载数据列表。通过一个具体示例展示了前端页面结构、Ajax请求定义及Java后端处理逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ajax请求简单实现

在spring boot + thymeleaf环境下,利用thymeleaf的fragments模板,实现Ajax请求.

主页面block

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">

<head>
    <meta charset="UTF-8" />
    <script src="js/jquery-3.1.1.min.js"></script>
    <script src="js/ajax1.js" type="text/javascript"></script>
    <title>Title</title>
</head>

<body>
    Hello World!
    <div class="search-block">
        <input type="text" id="searchSurname" name="searchSurname" />
        <br />
        <label for="searchSurname" th:text="#{search.label}">Search label:</label>
        <button id="searchButton" name="searchButton" onclick="retrieveGuests()" type="button" th:text="#{search.button}">Search button</button>
    </div>
        <div id="resultsBlock">

        </div>
</body>

</html>

当点击button::onclick事件,触发在ajax1.js中定义的retrieveGuests()

ajax请求定义

// ajax1.js
function retrieveGuests() {
    var url = '/users';

    $("#resultsBlock").load(url);
}

触发ajax请求,并且请求结果放入到#resultsBlock标签中。

java端后台实现请求处理

    @RequestMapping(value = "/users", method = RequestMethod.GET)
    public String showGuestList(Model model) {
        model.addAttribute("guests", userService.getUserLists());

        return "fragments/sample :: resultsList";
    }

定义fragments模板

当请求返回后,会调用fragments/sample::resultsList模板,模板如下:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
    <head>
    </head>

    <body>
        <div th:fragment="resultsList" th:unless="${#lists.isEmpty(guests)}" id="results-block">
            <table>
                <thead>
                    <tr>
                        <th th:text="ID">Id</th>
                        <th th:text="username">Surname</th>
                        <th th:text="loginName">Name</th>
                        <th th:text="workerId">Country</th>
                    </tr>
                </thead>
                <tbody>
                    <tr th:each="guest : ${guests}">
                        <td th:text="${guest.uid}">id</td>
                        <td th:text="${guest.username}">surname</td>
                        <td th:text="${guest.loginName}">name</td>
                        <td th:text="${guest.workerId}">country</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </body>
</html>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值