在spring boot 中实现页面跳转

一、项目依赖与环境准备
添加 Thymeleaf 依赖
在项目的 pom.xml 文件中添加以下依赖:

org.springframework.boot
spring-boot-starter-thymeleaf

这会引入 Thymeleaf 相关的库,使 Spring Boot 项目能够支持 Thymeleaf 模板引擎。Thymeleaf 可以方便地将数据与 HTML 页面进行绑定和渲染,实现动态页面展示。
创建 HTML 模板页面
在 src/main/resources/templates 目录下创建所需的 HTML 页面,例如 login.html 和 home.html。
login.html 可能包含登录表单的 HTML 结构,如下所示:

Login Page

Login



这里的 th:action 是 Thymeleaf 的属性,用于指定表单提交的 URL。th:if 和 th:text 用于根据后端传递的错误信息进行条件显示和文本渲染。 home.html 可以是登录成功后的主页内容,例如: Home Page

Welcome!

其中 th:text 用于显示后端传递的欢迎消息。 二、控制器逻辑 定义控制器类 创建一个带有 @Controller 注解的 Java 类,例如 PageController: import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.servlet.ModelAndView; @Controller 注解表明这个类是一个 Spring MVC 控制器,负责处理 HTTP 请求并返回相应的视图。 处理登录页面请求 使用 @GetMapping 注解定义一个方法来处理对登录页面的 GET 请求: @GetMapping("/login") public String showLoginPage() { return "login"; } 当用户访问 /login 路径时,这个方法会被调用,它直接返回 "login",这是 login.html 页面的视图名称。Spring Boot 会根据视图解析器的配置(默认情况下会查找 src/main/resources/templates 目录下的同名 HTML 文件)找到对应的 HTML 页面并返回给客户端。 处理登录表单提交 使用 @PostMapping 注解定义一个方法来处理登录表单的 POST 请求: @PostMapping("/login") public ModelAndView processLogin(Model model, String username, String password) { // 这里可以添加登录验证逻辑 if ("admin".equals(username) && "123456".equals(password)) { ModelAndView mav = new ModelAndView("home"); mav.addObject("message", "登录成功"); return mav; } else { ModelAndView mav = new ModelAndView("login"); mav.addObject("error", "用户名或密码错误"); return mav; } } 这个方法接收 Model 对象、用户名和密码作为参数。在方法内部,可以进行登录验证逻辑,这里简单地比较了用户名和密码是否为预设值。 如果验证成功,创建一个 ModelAndView 对象,指定视图名称为 "home",并通过 addObject 方法添加一个名为 "message" 的属性,其值为 "登录成功"。然后返回这个 ModelAndView 对象,Spring Boot 会将其渲染为 home.html 页面并返回给客户端。 如果验证失败,同样创建一个 ModelAndView 对象,视图名称为 "login",并添加一个名为 "error" 的属性,其值为 "用户名或密码错误",然后返回,这样登录页面就会显示错误信息。 处理首页请求(可选) 可以定义一个方法来处理对首页的请求: @GetMapping("/home") public String showHomePage() { return "home"; } 当用户直接访问 /home 路径时,会返回 home.html 页面。 通过以上步骤,就可以使用 Thymeleaf 模板引擎在 Spring Boot 项目中实现登录页面和主页之间的页面跳转,并传递相关数据进行页面展示。这种方式利用了 Thymeleaf 的强大功能,使得页面开发和数据交互更加便捷和灵活。
posted @   YOLO霖  阅读(222)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示