FreeMarker ObjectWrapper 包装 Java 8 LocalDate/LocalTime/LocalDateTime 数据模型

20200426-27 关于Freemarker中的入门,数据模型,配置,其他 知识梳理 官方链接:http://freemarker.foofun.cn/dgui_template.html 1.入门 1.1创建 Configuration 实例 首先,你应该创建一个freemarker.template.Configuration实例, 然后调整它的设置。Configuration实例是存储 FreeMarker 应用级设置的核心部分。同时,它也处理创建和缓存预解析... 阅读详情

版本:org.freemarker:freemarker:2.3.28

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.SimpleDate;
import freemarker.template.TemplateModel;
import freemarker.template.TemplateModelException;
import org.springframework.beans.factory.annotation.Autowired;

import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

@Autowired
public void configureFreemarker(Configuration configuration) {
    configuration.setObjectWrapper(new DefaultObjectWrapper(Configuration.VERSION_2_3_28) {

        @Override
        public TemplateModel wrap(Object object) throws TemplateModelException {
            if (object instanceof LocalDate) {
                return new SimpleDate(Date.valueOf((LocalDate) object));
            }
            if (object instanceof LocalTime) {
                return new SimpleDate(Time.valueOf((LocalTime) object));
            }
            if (object instanceof LocalDateTime) {
                return new SimpleDate(Timestamp.valueOf((LocalDateTime) object));
            }
            return super.wrap(object);
        }

    });
}

(完)

freemarker-java-8:库向FreeMarker添加了java.time支持 对FreeMarker的java.time支持 FJ8(freemarker-java-8)是一个Java库,向FreeMarker添加了java.time api支持。 它很容易添加到您的代码库中,并且非常易于使用。 基本上,该库允许您格式化和打印FreeMarker模板中java.time类的值。 作为奖励,您还可以获得一些比较功能。 这不是一个完美的解决方案,因为FreeMarker不支持自定义内置程序。 希望将来的FreeMarker版本会增加本机支持,但看起来前景并不乐观( )。 基本上,该库允许您使用新的在模板中设置java.time类型的格式。 表中的内容 安装 您需要Java 8或更高版本。 FJ8已在Freemarker 2.3.23上进行了测试,并且至少应在所有2.3.x版本上正常运行。 Maven < dependency> < groupId>no.api.freemarker</ groupId> < artifactId>freemarker-java8</ artifactId> < version>2.0.0 立即下载

相关推荐

双目立体成像(一)双目图片生成点云

利用左右目图片生成点云

qq_62964142的博客 4553

Freemarker对于LocalDateTime的解决方案

添加Freemarker对于JDK8的支持依赖 <dependency> <groupId>no.api.freemarker</groupId> <artifactId>freemarker-java8</artifactId> <version>1.3.0</version> </dependency> 添加Freemarker对于JDK8的支持配置类 @Configuration.

Clown2194的博客 3261

从零开始:如何用PSINS工具箱构建你的第一个IMU误差模型

本文详细介绍了如何使用严恭敏教授开发的PSINS工具箱构建IMU误差模型,涵盖从基础参数设置到高级误差建模的全过程。通过imuerrset函数配置陀螺零偏、随机游走等核心参数,并结合实战案例展示消费级MEMS器件的误差建模方法,帮助用户提升惯性导航系统的精度与可靠性。

weixin_29284885的博客 322

Freemarker Java8日期类型 兼容性处理

freemarker Java8日期类型 LocalDateTime Instant 解析出错,兼容性处理

SongJingzhou的博客 846

Gartner《构建可扩展数据产品建设框架》心得

数据产品化:从概念到落地的实践指南 当前企业正从传统数据需求模式转向数据产品化新范式。本文系统阐述了数据产品的核心价值、定义分类和实施框架,指出成功关键是将数据包装为可复用、可扩展的产品。Gartner框架强调产品思维,提出4阶段12步实施路径,涵盖设计、工程、发布和监控全流程。文章特别提醒要避免7大常见误区,如简单重命名报表、忽视元数据治理等,建议采取MVP策略,90天内完成从价值验证到产品落地的闭环。实施中需平衡技术选型与业务需求,建立跨职能团队,并通过AARRR模型持续追踪产品价值。

2501_91410404的博客 1005

【AI之路】cmd命令行通过Huggingface镜像站快速下载模型文件的方法

Hugging Face Hub 是分享机器学习模型、演示、数据集和指标的首选之地。huggingface_hub 库可以轻松下载Huggingface上有用的模型和数据集元数据。但大模型文件通常较大,国内下载太慢,那有没有高效便捷的方法?这个当然必须有!看到了吗?只是添加一个参数,下载大模型就搞定了。当然也可以使用python程序来下载。具体见前期博文:【AI之路】使用huggingface_hub通过huggingface镜像站hf-mirror.com下载大模型(附代码,实现大模型自由)

IT里的交易员-博客 1859

freemarker格式化日期

freemarker的日期格式化,可以使用预定义的变量 ${dateVar?string.short} ${dateVar?string.medium} ${dateVar?string.long} ${dateVar?string.full}       在local问US_EN,时区是US.PACIFIC时结果是 4/20/07 12:45 PM Apr

李古拉雷 5万+

CANoe LIN一致性测试之干扰测试Test moudle_LIN Disturbance Block

注意:相邻两个显隐性不同的bit不允许干扰,例如我同时选择bit6和bit7,相邻两个同显隐性的bit允许干扰,例如当我选择bit3和bit4,项,这里我选择ID:为0x2F(PID:0x6F)的frame。需按照具体测试规范实施干扰项,帧头和数据段都可以实现干扰。最近发现一个干扰测试模块,下面是一些具体使用方法。选择干扰项:PID的奇偶校验位(一致性测试干扰测试之手动测试。一个待测试frameD。

yuanyikangkang的博客 3412

java 8 spring mvc_spring mvc freemarker支持java8日期时间类型

freemarker至今尚未支持java8的LocalDateTime等日期时间类型,只要简单配置一下就跟java.util.Date一样了。import freemarker.template.DefaultObjectWrapper;import freemarker.template.SimpleDate;import freemarker.template.TemplateExceptio...

weixin_30336531的博客 386

代码的自由之旅:用AI写出无版权烦恼的Verilog

他们还基于这个数据集,训练了一个名叫“FreeV”的AI模型,不仅能写出好用的Verilog代码,还把版权侵权的风险降到了仅3%。为了让AI安全地写Verilog,研究团队提出了三个“法宝”:一个检测AI是否会生成侵权代码的测试方法、一个干净的Verilog数据集FreeSet,还有一个基于FreeSet训练的AI模型FreeV。AI的记忆力超强,能记住训练时见过的代码。测试发现,一些用Verilog数据训练过的AI,比如VeriGen,生成侵权代码的概率从9%涨到了15%,说明它们可能学了不该学的代码。

步子哥的博客 1810

基于FPGA的UDP 通信(六)

本文基于FPGA和MATLAB对千兆以太网通信模块UDP数据发送(FPGA发送)进行联合调试。

记录所学,分享知识,结识挚友 4730

根据模板动态生成word(一)使用freemarker生成word合集 - 根据模板生成word(3)

如果模板里需要用变量填充表格,建议模板里的表格像word文件一样建一个两行的表格。但是这样是freemaker是无法成功替换变量的,所以需要手动处理成到一个段里(如图2),关于这点实在太无语了,因为没有找到比较好的处理办法,只能手工处理,在实际的开发工作中曾经花了几个小时来做这件事情。根据模板文件生成word,主要生成的word的文件后缀必须是doc不能是docx,不然生成的文件无法打开。首先先建立一个word文件,输入模板内容freemaker的内容,下面是本次演示的word文件。

Gefangenes的博客 1162

1.为什么要学习SIMULINK

用户也可以自定义和创建自己的模块,利用这些模块,用户可以创建层次化的系统模型,可以自上而下或自下而上地阅读模型,也就是说,用户可以查看最顶层的系统,然后通过双击模块进入下层的子系统查看模型,这不仅方便了工程人员的设计,而且可以使自己的模型方块图功能更清晰,结构更合理。此外,利用示波器模块或其他的显示模块,用户可以在仿真运行的同时观察仿真结果,而且还可以在仿真运行期间改变仿真参数,并同时观察改变后的仿真结果,最后的结果数据也可以输出到MATLAB工作区进行后续处理,或利用命令在图形窗口中绘制仿真曲线。

FPGA/MATLAB学习教程/源码/项目合作开发 1547

FreeMarker2.3.10―Programmer's Guide(中文版)

前言 一、快速入门 1.1、创建配置实例 1.2、创建数据模型(Data Model) 1.3、获取模版(template) 1.4、把模版与数据模型合并 1.5、完整的代码 二、数据模型(Data Model) 2.1、基础类型 2.2、Scalar 类型(单值对应的Data Model) 2.3、容器类型 2.4、方法变量 2.5、转换器变量 2.6、节点变量 ...

松篁 295

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

freemarker内建函数(八)

Freemarker内建函数 1.1  处理字符串的内建函数 1.1.1 substring  取子串 注意: 这个内建函数从 FreeMarker 2.3.7 开始可用。 概要 :exp?substring(from, toExclusive) ,也 可 以 作 为 exp?substring(from) 调用 一个字符串的子串。 from 是第一个字符开始的索引。它必须是一个数字

一叶知春秋 3395

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

eureka使用spring2.0.7部署后访问页面报错

最近在集成eureka时启动后访问页面总是报错,看了所有流程都正常。最后通过dependency:对比别人可以访问的依赖和我的依赖,发现[INFO] |  |  |  +- org.freemarker:freemarker:jar:2.3.23:compile。版本不一样。在一看我们自己的parent依赖,居然别人修改了版本。去掉后正常 FreeMarker template error ...

yckiven的专栏 2068

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

freemarker 的ObjectWrapper Settings

为什么80%的码农都做不了架构师?>>> ...

weixin_34288121的博客 248

【转载】Freemarker ObjectWrapper使用测试

http://www.yeeach.com/2008/05/24/freemarker-objectwrapper%E4%BD%BF%E7%94%A8%E6%B5%8B%E8%AF%95/ Freemarker ObjectWrapper使用测试 [code="java"]先学习Freemarker Programmer Guide中对ObjectWrapper的说明: F...

topinking的专栏 1134

Freemarker实例教程

一、什么是Freemarker?    Freemarker 是一款模板引擎,是一种基于模版生成静态文件的通用 工具,它是为java程序员提供的一个开发包。到目前为止呢,freemarker使用越来越广泛,不光光只是它强大的生成技术,而且它能够与spring进行很好的集成。现在开始一层层揭开它的神秘面纱。。 二、Freemarker提供了哪些标签? list:该标签主要是进行

永恒の_☆ 8万+

【FreeMarker】【程序开发】数据模型,对象包装

在简单的示例中,可以使用 java.lang 和 java.util 包下的类

王晓斌的专栏 2955

FreeMarker 基本配置(一)

freemarker 版本官网下载地址 http://freemarker.org/freemarkerdownload.html当前测试所用版本为:freemarker-2.3.23文件结构1. 模板文件:test02.ftl<html> <head> <title>Welcome!</title> </head> <body> <h1>Welcome ${user}!</h1> <p

韩世雷 程序员专栏 4168

FreeMarker开发-数据模型

  FreeMarker用于处理模板的数据模型是哈希表,也就是一个树状结构的name-value对。如下: (root)|+- string="string"|+- map| || +- map1 = "map1"| || +- map2 = "map2"|+- object| || +- field1= "field1"| || +- field2 = "field1" | |...

ddxxhh1000的博客 368

freemarker的初步使用

首先在对应的工程目录下新建一个template文件夹,用于存放rj格式文件,新建一个index.rj和copyright.rj。 index.rj: ${me.mail} copyright.rj: Copyright (C) ${date} xuzengqiang. All rights reserved. 新建java代码: package com.xuzengq

风的专栏 813

java8 LocalDate、LocalTime、LocalDateTime

LocalDate:表示日期(年月日)LocalTime :表示时间(时分秒)LocalDateTime:表示时间+ 日期 (年月日时分秒),是java8最常用的日期类这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,有点类似于String类。因此它们都是线程安全的。

hanjiaqian的博客 338
上一篇: RestTemplate HttpClient 加载 SSL/PKCS12/微信API证书
下一篇: Elasticsearch 6.x 不支持多映射类型,8.x 不支持映射类型
feleon
博客等级 码龄16年 1粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值