为了账号安全,请及时绑定邮箱和手机立即绑定

spring-boot 2.0.6 速度视图问题与资源加载器路径属性

spring-boot 2.0.6 速度视图问题与资源加载器路径属性

largeQ 2021-12-01 16:35:22
当 vm 文件位于 中时classpath:/templates/hello.vm,在 spring-boot-1.5.x 上一切正常。当 vm 文件被定位classpath:/templates/hello.vm或移动到classpath:/template/WEB-INF/view/hellow.vm并更新application.yml如下时,它不再在 spring-boot-2.0.6-RELEASE 上工作。我的应用程序.yml:spring:    velocity:    enabled: true    view-names:     resource-loader-path: classpath:/templates/WEB-INF/view/             expose-request-attributes: true我的控制器:@Controllerpublic class HelloController {    @RequestMapping("/hello")    public String index(Model model) {        model.addAttribute("name", "SpringBlog from Millky");        return "hello";    }}我的模板:<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Hello Millky</title></head><body>    <h2>Hello! ${name}</h2>    <div>Velocity version</div></body></html>
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

Spring Boot 自v1.4 version.

org.springframework.boot.autoconfigure.velocity.VelocityAutoConfigurationDeprecated。从 1.4 开始,在 Spring Framework 4.3 中弃用 Velocity 支持之后

以下类不再是 Spring boot 自动配置 jar 版本 2.x(即 Spring boot v 2.x)的一部分。因此,它不适用于 Spring Boot 版本 2。

org.springframework.boot.autoconfigure.velocity.VelocityAutoConfiguration

另外,根据我的理解,如果您正确使用依赖项,它也不应该在 1.5.x 版本上工作。


查看完整回答
反对 回复 2021-12-01
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

spring-boot-2.0 不再像上面的答案那样支持速度视图。


使用 Freemaker 代替速度


application.yml 中不需要设置


    [pom.xml] - add freemaker dependency

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-freemarker</artifactId>

    </dependency>


    [Controller]

    @CrossOrigin

    @SkipSessionCheck

    @GetMapping(baseUri+"/buy/pg/test")

    public ModelAndView impViewTest() throws ResultCodeException {

        try {


            System.out.println("/buy/pg/test") ;

            logger.debug("/buy/pg/test") ;

            ModelAndView model = new ModelAndView();


            model.addObject("errorTitle", "Error") ;

            model.addObject("errorMessage", "success : No Error !!!") ;

            model.setViewName("paygate/error");

            return model ;

        }

        catch(Exception e){

            logger.error(AppUtil.excetionToString(e)) ;

            ModelAndView model = new ModelAndView();


            model.addObject("errorTitle", "Error") ;

            model.addObject("errorMessage", e.getMessage()) ;

            model.setViewName("paygate/error");

            return model ;

        }

    }


    [error.ftl] - view file extension is ftl

    <!DOCTYPE html>

    <html>

    <head>

        <meta charset="UTF-8">

        <title>error</title>

     </head>

    <body>

    <h1>${errorTitle}</h1>

    <p>${errorMessage}</p>


    </body>

    </html>


查看完整回答
反对 回复 2021-12-01
  • 2 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信