SpringBoot-Velocity模板引擎

梦幻星辰 2024-06-15 ⋅ 33 阅读

导语

在Web应用程序开发中,模板引擎扮演着重要的角色。Spring Boot是一个快速开发框架,使用了Velocity模板引擎来实现页面展示和动态渲染。本文将介绍Spring Boot中Velocity模板引擎的使用方法以及一些常用的功能和技巧。

1. 引入Velocity依赖

在pom.xml文件中添加Velocity相关依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
    </dependency>
</dependencies>

2. 创建Velocity配置

创建一个名为VelocityConfig的类,并添加@Configuration注解,用于配置Velocity模板引擎:

@Configuration
public class VelocityConfig {

    @Value("${spring.velocity.view-names}")
    private String viewNames;

    @Bean
    public VelocityEngineFactoryBean velocityEngine() {
        VelocityEngineFactoryBean factoryBean = new VelocityEngineFactoryBean();
        factoryBean.setVelocityProperties(getVelocityProperties());
        return factoryBean;
    }

    @Bean
    public VelocityViewResolver velocityViewResolver() {
        VelocityLayoutViewResolver viewResolver = new VelocityLayoutViewResolver();
        viewResolver.setCache(false);
        viewResolver.setPrefix("/templates/");
        viewResolver.setSuffix(".vm");
        viewResolver.setLayoutUrl("/templates/layout.vm");
        viewResolver.setViewNames(viewNames.split(","));
        viewResolver.setOrder(1);
        return viewResolver;
    }

    private Properties getVelocityProperties() {
        Properties properties = new Properties();
        properties.setProperty("input.encoding", "UTF-8");
        properties.setProperty("output.encoding", "UTF-8");
        properties.setProperty("resource.loader", "class");
        properties.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
        return properties;
    }
}

在上述代码中,我们使用VelocityEngineFactoryBean来创建Velocity引擎,并将其注册为一个Bean。使用VelocityViewResolver来配置模板解析器,设定一些属性,如模板文件前缀、后缀、视图文件名等。

3. 创建Velocity模板

创建Velocity模板文件,例如index.vm,放置在src/main/resources/templates目录下。编写一些基本的HTML代码,例如:

<html>
<head>
    <title>Welcome to Spring Boot Velocity Template</title>
</head>
<body>
    <h1>Welcome to Spring Boot Velocity Template</h1>
    <p>Hello, $name!</p>
</body>
</html>

4. 创建Controller

创建一个名为HomeController的类,并添加@Controller@RequestMapping注解,用于处理HTTP请求和渲染模板:

@Controller
@RequestMapping("/")
public class HomeController {

    @GetMapping("/")
    public String index(ModelMap model) {
        model.addAttribute("name", "John");
        return "index";
    }
}

在上述代码中,index方法通过ModelMapname属性传递给模板,模板中将使用$name占位符来获取属性值。

5. 运行Spring Boot应用

运行Spring Boot应用,并访问http://localhost:8080/ 即可看到渲染后的页面。页面将显示"Welcome to Spring Boot Velocity Template"和"Hello, John!"。

结语

本文介绍了如何在Spring Boot中使用Velocity模板引擎来实现页面展示和动态渲染。通过配置Velocity模板解析器和创建模板文件,我们可以轻松地实现高度可定制的页面。希望本文对您有所帮助,谢谢阅读!


全部评论: 0

    我有话说: