初学thymeleaf踩过的坑(@RestController和@Controller的区别)

1.问题重现(请求http://localhost:9090/world)返回的字符串而不是html页面
在这里插入图片描述
2.百度一顿骚操作说是thymeleaf引入的jar把问题(然而pom.XML并没有问题……)
在这里插入图片描述
3.最后发现是Controller类里面写的注解问题,正确应该是@Controller
在这里插入图片描述
4.问题解惑
4.1@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
如果使用@RestController注解,则Controller类中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver则不起作用,返回的内容就是Return 里的内容(String/JSON)。

4.2@Controller标识一个Spring类是Spring MVC controller处理器
在@controller注解中,返回的是字符串,或者是字符串匹配的模板名称,通过视图解析器InternalResourceViewResolver直接渲染视图,与html/jsp页面配合使用的

仍在不断学习中,如有不妥还望指教

猜你喜欢

转载自blog.csdn.net/qq_37493556/article/details/89299535
今日推荐