访问指定html页面,关于springboot 从controller指定跳转到html页面

web后台管理系统

环境:springboot+idea+ibeetl(模版引擎)+mybatis plus(包含在kernel-core包中)+mysql。。。

开始访问跳转到登录页面:

链接:http://127.0.0.1:8084/login

控制层接口代码:

@RestController

public class LoginController extends BaseController {

@Autowired

private UserService userService;

/**

* 跳转到登录页面

*

* @author fengshuonan

* @Date 2018/12/23 5:41 PM

*/

//@GetMapping(value = "/login")

@RequestMapping(value = "/login",method = RequestMethod.GET)

public String login() {

if (ShiroKit.isAuthenticated() || ShiroKit.getUser() != null) {

return REDIRECT + "/";

} else {

return "/login.html";

}

}

出现的问题是它没有跳到login.html页面,而是返回字符串“login.html”

43d86193246cf737183f01656972343c.png

然后就在网上找各种解决方案,还是没有适合的方法。然后把beetl的配置细看了,也没什么问题。

此时状态比较好,很冷静。接下来我就将登录接口的@RestController改为@Controller,居然就成功了,很惊喜,也很惊讶。

因为 @RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。所以一直没有怀疑是這里出了问题。为了测试这个问题,我又在@Controller加上@ResponseBody,如下图所以

9bcbe6f20bfd01fca1f0031d43157457.png

结果还是返回“/login.html”的字符串。如何不用隐情模版跳转到指定页面,這里必须用@Controller。

1f662ef006abc85c50d308269825b951.png

在查找资料的过程中,参考的文章:

https://blog.csdn.net/zmemorys/article/details/87275032

https://www.cnblogs.com/xuyatao/p/8072307.html

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中,可以使用Thymeleaf作为模板引擎来渲染页面,同时也可以使用Spring MVC的Controller来处理请求,并返回相应的视图。以下是一个简单的示例,演示了如何在请求接口后跳转到一个页面: 1. 添加Thymeleaf依赖: 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> ``` 2. 创建Controller: 创建一个Controller类,在其中定义一个处理请求的方法,并将返回值设置为要渲染的页面的名称。例如: ``` @Controller public class MyController { @GetMapping("/hello") public String hello() { return "hello"; } } ``` 这里的@GetMapping("/hello")表示处理GET请求的/hello路径,而返回值"hello"表示要渲染的页面的名称。 3. 创建Thymeleaf模板: 在src/main/resources/templates目录下创建一个名为hello.html的Thymeleaf模板,用于渲染页面。例如: ``` <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Hello</title> </head> <body> <h1 th:text="'Hello, ' + ${name} + '!'"></h1> </body> </html> ``` 这里使用了Thymeleaf的语法,在<h1>标签中使用了表达式${name},表示要显示的文本内容由Controller中的方法返回值传递过来。例如,如果Controller方法返回值为"hello",则${name}将被替换为"hello",最终页面将显示"Hello, hello!"。 4. 发送请求: 在浏览器中访问http://localhost:8080/hello,将发送GET请求到Controller的/hello路径,Controller将返回hello.html模板,最终将在浏览器中显示"Hello, hello!"。 以上就是一个简单的示例,演示了如何在Spring Boot中请求接口后跳转页面。需要注意的是,Thymeleaf的语法和使用方式较为复杂,需要进一步学习和掌握。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值