带有资源加载程序路径属性的spring-boot 2.0.6速度视图问题

时间:2018-10-22 11:30:33

标签: java spring spring-boot velocity

当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上不再起作用。

我的application.yml:

spring:
    velocity:
    enabled: true
    view-names: 
    resource-loader-path: classpath:/templates/WEB-INF/view/         
    expose-request-attributes: true

我的控制器:

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public String index(Model model) {
        model.addAttribute("name", "SpringBlog from Millky");
        return "hello";
    }

}

我的模板:

<!DOCTYPE html>
<html lang="ko">
<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 个答案:

答案 0 :(得分:1)

v1.4 version起,Spring Boot已弃用了速度模板支持。

  

org.springframework.boot.autoconfigure.velocity.VelocityAutoConfiguration已弃用。从1.4开始弃用Velocity支持   在Spring Framework 4.3中

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

org.springframework.boot.autoconfigure.velocity.VelocityAutoConfiguration

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

答案 1 :(得分:1)

spring-boot-2.0不再支持速度查看,就像上面的答案一样。

使用Freemaker代替速度

application.yml中不需要设置

            `$this->_mysqli->options(MYSQLI_INIT_COMMAND,
                'SET SESSION sql_mode =
                REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
                @@sql_mode,
                "STRICT_ALL_TABLES,", ""),
                ",STRICT_ALL_TABLES", ""),
                "STRICT_ALL_TABLES", ""),
                "STRICT_TRANS_TABLES,", ""),
                ",STRICT_TRANS_TABLES", ""),
                "STRICT_TRANS_TABLES", "")'
            );`