spring5.0适配velocity

公司老项目jar包升级,spring需升级到5.0,原来模板引擎为velocity,不好重新换模板引擎。
百度加上自身试验适配velocity,
不想去官网找的可移步最后去我的github直接拿适配好的,加上依赖,包目录顶级就行。
原理,jvm优先加载class里面相同包名的class(相当于覆盖jar包的)
首先是pom

<dependency>
				<groupId>org.apache.velocity</groupId>
				<artifactId>velocity-tools</artifactId>
				<version>2.0</version>
				<exclusions>
		<exclusion>
			<artifactId>struts-core</artifactId>
			<groupId>org.apache.struts</groupId>
		</exclusion>
		<exclusion>
			<artifactId>struts-taglib</artifactId>
			<groupId>org.apache.struts</groupId>
			</exclusion>
				<exclusion>
					<artifactId>struts-tiles</artifactId>
					<groupId>org.apache.struts</groupId>
				</exclusion>
			</exclusions> 
</dependency>
<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity</artifactId>
			<version>1.7</version>
		</dependency>
		<dependency>
			<groupId>velocity-tools</groupId>
			<artifactId>velocity-tools-view</artifactId>
			<version>1.4</version>
</dependency>

这些需要的jar,可根据需要自己更换版本

去spring 的github地址
https://github.com/spring-projects/spring-framework/blob/4.3.x/spring-context-support/src/main/java/org/springframework/ui/velocity/

https://github.com/spring-projects/spring-framework/blob/4.3.x/spring-webmvc/src/main/java/org/springframework/web/servlet/view/velocity/
下载目录下的所有文件,因为spring4.3是支持velocity的
包目录结构
在自己目录下任意模块新建通路径包并放下去,有错误提示自己改一下

<dependency>
	    <groupId>org.apache.commons</groupId>
	    <artifactId>commons-digester3</artifactId>
	    <version>3.2</version>
	</dependency>

其中可能会提示找不到digester,上面是digester3的jar包,导入后在import处将digester改成digester3
然后把digester.改成getDigester().;
然后去github地址
https://github.com/apache/velocity-tools/tree/1.4
下载其源码包
同上建立路径并导入这些源码
目录结构
一般到此基本配置完成了。
有的会报错nosuchmethod ValueParser.getValue();
我从velocity-tool2.0源码中抠出来getValue()粘贴进ValueParser去就行了。

  public Object getValue(String key)
    {
        return getSource().get(key);
    }

最后放上我自己的适配的文件github地址:https://github.com/zzyzzyzzy123/spring5-velocity

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
D、设置模板文件存放路径的配置为:`spring.velocity.resource-loader-path`。在Spring Boot中集成Velocity模板引擎时,需要进行相关配置以便正确地加载和渲染模板文件。常见的配置方式有两种: 1. 在`application.properties`或`application.yml`配置文件中定义Velocity的相关属性,如模板文件的位置、缓存的开关等。示例: ``` spring.velocity.resource-loader-path=classpath:templates/ spring.velocity.cache=false spring.velocity.charset=UTF-8 spring.velocity.suffix=.vm ``` 2. 使用Java代码配置Velocity模板引擎的相关属性。示例: ```java @Configuration public class VelocityConfig { @Bean public VelocityConfigurer velocityConfigurer() { VelocityConfigurer configurer = new VelocityConfigurer(); configurer.setResourceLoaderPath("classpath:templates/"); configurer.setVelocityProperties(velocityProperties()); return configurer; } @Bean public Properties velocityProperties() { Properties properties = new Properties(); properties.setProperty("input.encoding", "UTF-8"); properties.setProperty("output.encoding", "UTF-8"); properties.setProperty("directive.set.null.allowed", "true"); properties.setProperty("resource.manager.defaultcache.size", "100"); return properties; } @Bean public ViewResolver velocityViewResolver() { VelocityViewResolver resolver = new VelocityViewResolver(); resolver.setSuffix(".vm"); resolver.setCache(false); resolver.setContentType("text/html;charset=UTF-8"); resolver.setExposeSpringMacroHelpers(true); resolver.setExposeRequestAttributes(true); resolver.setExposeSessionAttributes(true); return resolver; } } ``` 其中,`spring.velocity.resource-loader-path`表示模板文件的路径,`spring.velocity.cache`表示是否开启缓存,`spring.velocity.charset`表示字符编码,`spring.velocity.suffix`表示模板文件的后缀名。因此,选项D是正确的。选项A和B的属性名称不正确;选项C的属性名称正确,但是它是用于设置模板文件的后缀名,而不是用于开启缓存。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值