问题描述:最近由于公司需求,需要再原来支持jsp的项目添加freemarker的支持进行功能扩展,网上找了好多帖子都没有解决问题,结果还是官方的比较可靠啊。由于本身不支持jsp,所以继承了WebMvcConfigurerAdapter类注入了InternalResourceViewResolver来实现对jsp的解析。
这样导致我引入freemarker的包后返回(这里我是想返回freemarker的视图)框架一直以jsp去解析,返回***.jsp找不到的情况。
经过查看spring官方的blog(文章地址:https://spring.io/blog/2013/06/03/content-negotiation-using-views),得到了再加入一种解析视图的方式完美解决问题。
最后把freemarker的解析实力也加入到ContentNegotiatingViewResolver中运行即可实现既支持jsp也支持freemarker。
注: 该项目freemarker的order必须设置为0,jsp为1才能解析,我个人认为是项目的原因没有深究,如果有懂的谢谢回复一下。