spring mvc 哪些模板引擎

不及物动词 其他 33

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Spring MVC 支持多种模板引擎,常见的包括:

    1. JSP(JavaServer Pages):JSP 是 JavaEE 技术中的一部分,它允许在 HTML 中嵌入 Java 代码。在 Spring MVC 中,通过 InternalResourceViewResolver 配置 JSP 视图解析器,将 JSP 文件作为模板引擎使用。

    2. Thymeleaf:Thymeleaf 是一个现代化的服务器端 Java 模板引擎。它支持 HTML、XML、JavaScript、CSS 和文本模板。通过配置 ThymeleafViewResolver,Spring MVC 可以使用 Thymeleaf 作为模板引擎。

    3. Freemarker:Freemarker 是另一个流行的模板引擎,它提供了强大的模板语法和灵活的模板渲染功能。通过配置 FreeMarkerViewResolver,可以在 Spring MVC 中使用 Freemarker。

    4. Velocity:Velocity 是一个简洁而高效的模板引擎,它具有简单的语法和丰富的功能。要在 Spring MVC 中使用 Velocity,需要配置 VelocityViewResolver。

    5. Mustache:Mustache 是一个逻辑-less 模板引擎,它的设计目标是保持模板语法简洁和易于阅读。Spring MVC 提供了 MustacheViewResolver,可以使用 Mustache 作为模板引擎。

    对于以上提到的模板引擎,Spring MVC 都提供了相应的视图解析器,可以在配置文件中进行配置,并根据需要选择合适的模板引擎来使用。根据项目需求和个人偏好,可以选择适合的模板引擎来开发和渲染视图。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Spring MVC 支持多种模板引擎,其中包括以下几种:

    1. JSP(JavaServer Pages):JSP 是一种常见的模板引擎,它使用类似于 HTML 的语法,并可以在其中嵌入 Java 代码。在 Spring MVC 中,默认的视图解析器会将 JSP 视图解析成 Java 代码并生成相应的 servlet。

    2. Thymeleaf:Thymeleaf 是一种现代化的、基于 HTML 的模板引擎,它使用类似于 JSP 的语法,但更加灵活和易于使用。Thymeleaf 的语法具有丰富的功能,包括模板布局、条件判断、循环和表达式。在 Spring MVC 中,可以通过在配置文件中配置 Thymeleaf 视图解析器来使用 Thymeleaf。

    3. FreeMarker:FreeMarker 是一种模板引擎,它使用基于文本的模板语法,可以与多个编程语言(包括 Java)集成。在 Spring MVC 中,可以使用 FreeMarker 视图解析器来将 FreeMarker 模板解析成最终的 HTML 页面。

    4. Velocity:Velocity 是一种模板引擎,它使用简洁的语法和标记来生成动态内容。在 Spring MVC 中,可以使用 Velocity 视图解析器将 Velocity 模板转化为最终的 HTML 页面。

    5. Groovy Markup:Groovy Markup 是一种模板引擎,它使用 Groovy 脚本语言,并且与 Groovy 语法非常相似。在 Spring MVC 中,可以使用 Groovy Markup 视图解析器来解析 Groovy Markup 模板。

    总结起来,Spring MVC 支持的模板引擎包括 JSP、Thymeleaf、FreeMarker、Velocity 和 Groovy Markup。开发者可以根据自己的需求和偏好选择合适的模板引擎来进行开发。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Spring MVC 支持多种模板引擎,以下是其中几种常用的模板引擎:

    1. Thymeleaf
    2. FreeMarker
    3. Velocity
    4. JSP(JavaServer Pages)

    下面将分别介绍这些模板引擎的使用方法和操作流程。

    1. Thymeleaf

    Thymeleaf 是一种服务器端 Java 模板引擎,它能够自然地与 Spring MVC 进行整合。

    使用 Thymeleaf,首先需要在 Maven 或 Gradle 中添加以下依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    

    然后,在 Spring MVC 的配置文件中配置 Thymeleaf 的视图解析器,例如:

    @Configuration
    public class ThymeleafConfig {
    
        @Autowired
        private ApplicationContext applicationContext;
    
        @Bean
        public SpringResourceTemplateResolver templateResolver() {
            SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
            templateResolver.setApplicationContext(applicationContext);
            templateResolver.setPrefix("classpath:/templates/");
            templateResolver.setSuffix(".html");
            return templateResolver;
        }
    
        @Bean
        public SpringTemplateEngine templateEngine() {
            SpringTemplateEngine templateEngine = new SpringTemplateEngine();
            templateEngine.setTemplateResolver(templateResolver());
            return templateEngine;
        }
    
        @Bean
        public ViewResolver viewResolver() {
            ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
            viewResolver.setTemplateEngine(templateEngine());
            return viewResolver;
        }
    }
    

    然后,在控制器类中,定义请求处理方法并返回对应的 Thymeleaf 模板文件名,例如:

    @Controller
    public class MyController {
    
        @GetMapping("/hello")
        public String hello(Model model) {
            model.addAttribute("message", "Hello Thymeleaf!");
            return "hello";
        }
    }
    

    templates 目录下,创建 hello.html 文件:

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <body>
    <h1 th:text="${message}"></h1>
    </body>
    </html>
    

    这样,当访问 /hello 路径时,将渲染 hello.html 模板,并将 message 的值替换到模板中。

    2. FreeMarker

    FreeMarker 是一种流行的模板引擎,它能够生成文本输出。

    使用 FreeMarker,首先需要在 Maven 或 Gradle 中添加以下依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
    

    然后,在 Spring MVC 的配置文件中配置 FreeMarker 的视图解析器,例如:

    @Configuration
    public class FreeMarkerConfig {
    
        @Autowired
        private ApplicationContext applicationContext;
    
        @Bean
        public FreeMarkerConfigurationFactoryBean freeMarkerConfiguration() {
            FreeMarkerConfigurationFactoryBean factoryBean = new FreeMarkerConfigurationFactoryBean();
            factoryBean.setTemplateLoaderPath("classpath:/templates/");
            return factoryBean;
        }
    
        @Bean
        public FreeMarkerViewResolver viewResolver() {
            FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver();
            viewResolver.setCache(true);
            viewResolver.setPrefix("");
            viewResolver.setSuffix(".ftl");
            viewResolver.setContentType("text/html;charset=UTF-8");
            return viewResolver;
        }
    }
    

    然后,在控制器类中,定义请求处理方法并返回对应的 FreeMarker 模板文件名,例如:

    @Controller
    public class MyController {
    
        @GetMapping("/hello")
        public String hello(ModelMap model) {
            model.addAttribute("message", "Hello FreeMarker!");
            return "hello";
        }
    }
    

    templates 目录下,创建 hello.ftl 文件:

    <!DOCTYPE html>
    <html lang="en">
    <body>
    <h1>${message}</h1>
    </body>
    </html>
    

    这样,当访问 /hello 路径时,将渲染 hello.ftl 模板,并将 message 的值替换到模板中。

    3. Velocity

    Velocity 是一种基于 Java 的模板引擎,它能够生成文本输出。

    使用 Velocity,首先需要在 Maven 或 Gradle 中添加以下依赖:

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

    然后,在 Spring MVC 的配置文件中配置 Velocity 的视图解析器,例如:

    @Configuration
    public class VelocityConfig {
    
        @Bean
        public VelocityConfigurer velocityConfigurer() {
            VelocityConfigurer configurer = new VelocityConfigurer();
            configurer.setResourceLoaderPath("classpath:/templates/");
            return configurer;
        }
    
        @Bean
        public ViewResolver viewResolver() {
            VelocityViewResolver viewResolver = new VelocityViewResolver();
            viewResolver.setSuffix(".html");
            viewResolver.setContentType("text/html;charset=UTF-8");
            return viewResolver;
        }
    }
    

    然后,在控制器类中,定义请求处理方法并返回对应的 Velocity 模板文件名,例如:

    @Controller
    public class MyController {
    
        @GetMapping("/hello")
        public String hello(Model model) {
            model.addAttribute("message", "Hello Velocity!");
            return "hello";
        }
    }
    

    templates 目录下,创建 hello.html 文件:

    <!DOCTYPE html>
    <html lang="en">
    <body>
    <h1>$message</h1>
    </body>
    </html>
    

    这样,当访问 /hello 路径时,将渲染 hello.html 模板,并将 message 的值替换到模板中。

    4. JSP(JavaServer Pages)

    JSP 是一种服务器端 Java 视图技术,它允许开发人员使用 Java 代码和 HTML 标签来创建动态 Web 页面。

    使用 JSP,首先需要在 Maven 或 Gradle 中添加以下依赖:

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    

    然后,在 Spring MVC 的配置文件中配置 JSP 的视图解析器,例如:

    @Configuration
    public class JspConfig {
    
        @Bean
        public ViewResolver viewResolver() {
            InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
            viewResolver.setPrefix("/WEB-INF/views/");
            viewResolver.setSuffix(".jsp");
            return viewResolver;
        }
    }
    

    然后,在 WEB-INF 目录下的 views 文件夹中,创建 hello.jsp 文件:

    <!DOCTYPE html>
    <html lang="en">
    <body>
    <h1><%= message %></h1>
    </body>
    </html>
    

    最后,在控制器类中,定义请求处理方法并返回对应的 JSP 文件名,例如:

    @Controller
    public class MyController {
    
        @GetMapping("/hello")
        public String hello(Model model) {
            model.addAttribute("message", "Hello JSP!");
            return "hello";
        }
    }
    

    这样,当访问 /hello 路径时,将渲染 hello.jsp 并将 message 的值替换到页面中。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部