SpringMVC整合thymeleaf模板

SpringMVC整合thymeleaf模板

1、thymeleaf的依赖

		<dependency>
			<groupId>org.thymeleaf</groupId>
			<artifactId>thymeleaf-spring4</artifactId>
			<version>3.0.11.RELEASE</version>
		</dependency>

2、thymeleaf视图解析器的配置

2.1 基于java的配置

package com.zhou.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.spring4.SpringTemplateEngine;
import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver;
import org.thymeleaf.spring4.view.ThymeleafViewResolver;

@Configuration
public class ThymeleafConfig {

@Bean	//Thymeleaf视图解析器
public ViewResolver viewResolver(TemplateEngine templateEngine){
    ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
    viewResolver.setTemplateEngine(templateEngine);
    viewResolver.setOrder(1);
    viewResolver.setCharacterEncoding("utf-8");
    return viewResolver;
}
@Bean	//模板引擎
public TemplateEngine templateEngine(SpringResourceTemplateResolver springResourceTemplateResolver){
    SpringTemplateEngine templateEngine = new SpringTemplateEngine();
    templateEngine.setTemplateResolver(springResourceTemplateResolver);
    return templateEngine;
}
    
@Bean	//模板解析器
public SpringResourceTemplateResolver springResourceTemplateResolver (){
    	SpringResourceTemplateResolver springResourceTemplateResolver = new SpringResourceTemplateResolver();
    	springResourceTemplateResolver.setPrefix("/");
    	springResourceTemplateResolver.setSuffix(".html");
    	springResourceTemplateResolver.setCacheable(false);
    	springResourceTemplateResolver.setTemplateMode("HTML5");
    	return springResourceTemplateResolver;
    }
}


2.2 bean(xml文件)的配置方式

	<!-- 使用thymeleaf解析 -->
    <bean id="templateResolver"
          class="org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver">
        <property name="prefix" value="/" />
        <property name="suffix" value=".html" />
        <property name="templateMode" value="HTML5" />
        <property name="cacheable" value="false" />
    </bean>

    <bean id="templateEngine"
          class="org.thymeleaf.spring4.SpringTemplateEngine">
        <property name="templateResolver" ref="templateResolver" />
    </bean>

    <bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
        <property name="order" value="1" />
        <property name="templateEngine" ref="templateEngine" />
        <!--解决中文乱码-->
        <property name="characterEncoding" value="UTF-8"/>
    </bean>

3、静态资源屏蔽和项目名的获取及向服务器请求

3.1 可以将静态资源如css,js,html统一放到static目录中

在这里插入图片描述

3.2 静态资源屏蔽配置

<mvc:resources mapping="/static/**" location="/static/" />

4、项目路径的获取

在jsp下使用${pageContext.request.contextPath}
在thymeleaf下怎么获取?

<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1 th:text="${text}"></h1>
	<!-- html正常使用thymeleaf模板方式即可 -->
	<form th:action="@{/test/test2}">
		<input type="text" name="name">
		<input type="text" name="sex">
		<button type="submit">提交</button>
	</form>
	<button onclick="test()">click</button>
</body>
<script th:src="@{/static/js/jquery.min.js}"></script>
<script>
	// contextPath获取项目路径
	var contextPath = [[@{/}]];     
	function test(){
		$.post(contextPath+"test/index",{},function(data){
			alert(data);
		})
	
	}
</script>
</html>

5、@ResponseBody解决中文乱码问题

springmvc.xml中配置mvc:annotation-driven

	<mvc:annotation-driven>
		<mvc:message-converters
			register-defaults="true">
			<bean class="org.springframework.http.converter.StringHttpMessageConverter">
				<property name="supportedMediaTypes"
					value="text/plain;charset=UTF-8" />
			</bean>
		</mvc:message-converters>
	</mvc:annotation-driven>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值