Spring boot跳转页面相关问题总结

简介: 在此记录一下本人关于使用Spring boot框架开发web系统时,跳转页面的相关的问题。欢迎各位大佬针对相关问题赐教!

前言


在此记录一下本人关于使用Spring boot框架开发web系统时,跳转页面的相关的问题。欢迎各位大佬针对相关问题赐教!


在完成下面操作时需使用开发工具自动创建一个spring boot项目,并完成如下配置。

1.引入相关依赖

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

2.在.properties中添加Thymeleaf配置

# thymeleaf
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=false
spring.thymeleaf.check-template=true
spring.thymeleaf.check-template-location=true
spring.thymeleaf.mode=LEGACYHTML5

3.项目文件目录

在这里插入图片描述

以下是本篇文章正文内容,下面案例可供参考

一、在Controller层中跳转

代码如下(示例):


@Controller
public class LoginController<Commodity> {

    @Autowired
    LoginService loginService;

    @PostMapping("/login")
    public String login(String username, String password ) {
        Boolean res = loginService.Login(username, password);
        System.out.println(res);
        if (res) {
            return "redirect:index";//重定向
        }else {
            return "login";//转发
        }
    }
    @RequestMapping("/")
    public String loginl(){
        return "login";
    }
    @GetMapping("/index")
    public String index(){
        return "index";
    }

总结:这里记得必须使用@Controller注解,而不是@RestController,不然返回的是字符串而非我们要的页面。使用转发进行页面跳转时,可以正常跳转。而使用重定向时,如没有index()这个方法,会报404错误。(小菜(niao)目前是加一个get请求处理的方法解决,如有大佬知道为何这样不妥,还望赐教。)

二、实现WebMvcConfigurer接口

重写addViewControllers方法
代码如下(示例):


@Configuration
public class MyWebConfig implements WebMvcConfigurer {

    @Override
        public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/addMember").setViewName("addMember");
    }

总结:这里的 addViewController("/addMember"),是URL路径,如http://localhost:8080/addMember
setViewName("addMembert")是你HTML或JSP页面名称。

三、在js中实现跳转

代码如下(示例):

 <script>
   $("#login").click(function () {
            var username = $('input[name=username]').val();
            var password = $('input[name=password]').val();
            $.ajax({
                type: 'POST',
                data: {
                    username: username,
                    password: password
                },
                dataType: "JSON",
                url: '/login',
                success: function (data) {
                    if (data.res) {
                        window.location.href = "index";
                    } else {
                        alert(data.msg);
                        $('input[name=username]').val("");
                        $('input[name=password]').val("");
                    }
                }
            });
    })
</script>

总结:可以通过ajax提交请求,在请求成功返回的函数中做处理,进行页面跳转。

总结


页面跳转的方法可以采用这些,但不仅限于这样。其他方法后期在学习或工作中将补充进来。本文有不妥之处也希望各位大佬为小菜指点一二。

目录
相关文章
|
3月前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
1239 17
Spring Boot 两种部署到服务器的方式
|
1月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
55 0
|
5月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
184 2
|
6月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
178 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
5月前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
107 2
|
5月前
|
前端开发 Java Spring
SpringBoot项目thymeleaf页面支持词条国际化切换
SpringBoot项目thymeleaf页面支持词条国际化切换
144 2
|
7月前
|
Java Spring
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
本文介绍了Spring Boot中静态资源的访问位置、如何进行静态资源访问测试、自定义静态资源路径和静态资源请求映射,以及如何处理自定义静态资源映射对index页面访问的影响。提供了两种解决方案:取消自定义静态资源映射或编写Controller来截获index.html的请求并重定向。
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
|
5月前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
87 0
|
6月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
159 2
|
7月前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
100 6
下一篇
oss创建bucket