thymeleaf 不跳转页面,只显示文本 login

1
2
3
4
5
6
7
8
9
@RestController
public class LoginController
{
@GetMapping("/login")
public String login()
{
return "login";
}
}

原因:@RestController 注解相当于 @ResponseBody@Controller 合在一起的作用。在使用 @RestController 注解 Controller 时,Controller 中的方法无法返回 jsp 页面,或者 html,配置的视图解析器 InternalResourceViewResolver 不起作用,返回的内容就是 return 里的内容。包括在 Mapping 注解使用的同时使用 @ResponseBody 时也会出现同样的问题

解决办法:去除 @ResponseBody 或将含有 Rest 的注解换成对应的原始注解 @Controller

1
2
3
4
5
6
7
8
9
@Controller
public class LoginController
{
@GetMapping("/login")
public String login()
{
return "login";
}
}