Freemarker 中的 Java.time (Java 8) 支持

2023-11-26

有人知道 FreeMarker 有支持新 java.time api 的计划吗?或者是否有任何代码可以支持 ZonedDateTime、LocalDateTime 和 Instant 等类?

自己实现这些东西并不难,但实际上是一个相当大的任务。


假设您想要格式化新的日期/时间对象

  1. 创建自定义方法:

    public static class FormatDateTimeMethodModel 
            implements TemplateMethodModelEx {
        public Object exec(List args) throws TemplateModelException {
            if (args.size() != 2) {
                throw new TemplateModelException("Wrong arguments");
            }
            TemporalAccessor time = (TemporalAccessor) ((StringModel) args.get(0)).getWrappedObject();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern(((SimpleScalar) args.get(1)).getAsString());
            return formatter.format(time);
        }
    }
    
  2. 将此方法放入模板模型中:

    templateModel.put("formatDateTime", new FormatDateTimeMethodModel());

  3. 并在模板内调用此方法:

    ${formatDateTime(MY_DATE, 'HH:mm')}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Freemarker 中的 Java.time (Java 8) 支持 的相关文章

随机推荐

  • 将类添加到单击的元素

    我正在尝试向单击的元素添加一个类 有多个具有唯一 ID 的元素 因此我 不知道 元素的 ID 是什么 我可以使用以下代码的修改版本来实现此目的吗 Jquery document ready function this on click fu
  • 我如何在 iOS 5 中使用 CMDeviceMotion 获取设备的标题

    我正在使用陀螺仪开发 AR 应用程序 我使用了苹果代码示例公园 它使用旋转矩阵来计算坐标的位置 而且效果非常好 但现在我正在尝试实现一个 雷达 我需要根据设备航向来旋转它 我正在使用 CLLocationManager 标题 但它不正确 问
  • Angular ViewChildren 不会立即看到 ngFor 中的所有子级

    我有一个奇怪的行为 ViewChildren 对应于 ngFor 生成的子组件 ViewChildren 查询没有看到元素在数组中停留了很长时间 我所有的代码都在Plunker 打开控制台后查看 这是我的主要组成部分 Component s
  • XMLHttp请求超时

    如何为以下脚本添加超时 我希望它将文本显示为 时间到 var bustcachevar 1 bust potential caching of external pages after initial request 1 yes 0 no
  • Redis 获取大字符串很慢

    我是 Redis 的新手 所以如果这是一个愚蠢的问题 我深表歉意 我使用 Django 和 Redis 作为缓存 我正在腌制大约 200 个对象的集合并将其存储在 Redis 中 当我从 Redis 请求集合时 Django 调试工具栏通知
  • 带有固定包装器的引导网格 - 防止列堆叠

    正如标题所示 我正在尝试使用带有固定包装器的 Bootstrap 3 网格系统 但是 当我调整浏览器的大小时 即使包装器保持相同的大小 列也会堆积起来 顺便说一句 我正在使用版本 3 以便在移植网站后可以转向响应式布局 这是巨大的 而且我独
  • 使用 Snapshot 和 ParamMap 的 Angular Mock ActivatedRoute

    我正在使用这个 来自here constructor private heroService HeroService private activatedRoute ActivatedRoute ngOnInit const heroId t
  • 如何使用 JBoss 4.2.3 以编程方式找出我的 jboss 服务器正在侦听哪个端口?

    例如 如何确定我的简单 JBoss 4 2 3 服务器正在侦听端口 8080 这是我能达到的最接近的结果 但这不起作用 MBeanServerConnection server MBeanServerConnection new Initi
  • 量化约束与(封闭)类型族

    我正在尝试使用这篇博文的方法是在不悬而未决的情况下获取更高级的数据Identity简单情况的函子与量化约束推导一起 LANGUAGE TypeFamilies LANGUAGE QuantifiedConstraints Standalon
  • UITableView 在 iOS 7 中以偏移量开始

    我已将一个简单的 UITableView 拖到 iOS 7 中的 UIViewController 上 现在 在第一个单元格开始之前有一个垂直的空间偏移 我该如何摆脱它 我希望第一行更接近 UITableView 实际开始位置的上边缘 我没
  • 使用 .NET C# 连接到 Interbase 7.1 的最佳方法

    有人可以解释一下使用 NET C 连接到 Interbase 7 1 数据库的最佳方法吗 该应用程序将安装在许多最终用户计算机上 因此我必须与应用程序打包的 附加组件 越少越好 CodeGear 为 InterBase 的注册用户提供免费的
  • 如何更改熊猫箱线图中胡须的线条样式?

    有没有办法将 pandas 箱线图中胡须的线条样式更改为 默认值似乎是 我努力了 color dict boxes black whiskers black medians red caps black styles dict whiske
  • 如何在 C# 中跨本地网络进行 UDP 多播?

    我正在尝试在我的本地网络上进行一些简单的 UDP 通信 我想做的就是对网络上的所有机器进行多播 这是我的发送代码 public void SendMessage string message var data Encoding Defaul
  • c# - 如何将点移动给定距离 d (并获取新坐标)

    你好 我想知道是否有任何有效的方法来计算点的坐标 从原始位置移动了距离 d 假设我有一个点 P 0 3 0 5 我需要将该点随机方向移动距离 d 到目前为止 我通过随机选取新的 x 和 y 坐标来完成此操作 并且检查新旧点之间的距离是否等于
  • 经典 ASP - 捕获 500 错误

    我正在尝试诊断一个网站的问题 该网站似乎在代码中的某个地方抛出了错误 从错误日志来看 这似乎是由于 SQL 查询与错误代码的错误串联而导致的 SQL 语法错误 我的问题是 我无法重现该错误 但客户仍然收到该错误 这可能是由许多查询引起的 所
  • 在 R 中手动构建逻辑回归模型进行预测

    我正在尝试在数据集上测试逻辑回归模型 例如 3 个预测变量 X1 X2 X3 的 3 个系数 我知道如何在创建模型对象后测试模型 例如 mymodel lt glm Outcome X1 X2 X3 family binomial data
  • Axios 与promise.prototype.finally 不起作用

    不知道我错过了什么 按照此处的说明进行操作 https github com mzabriskie axios blob master COOKBOOK md 我已经安装了 axios 和 npmnpm install axios prom
  • 如何使用 LINQ C# 正确搜索 xml 文档

    我很难弄清楚如何正确搜索 xml 文档 我今天疯狂地阅读其他表格 但似乎无法理解 希望有人能给我一些更详细的信息 告诉我如何正确执行此操作以及为什么使用 LINQ 这是 XML 文件
  • 克隆 Sublime Text 3 高亮语法定义

    是否有一个简单的过程可以从现有的定义中派生出您自己的自定义 Sublime Text 3 突出显示定义 我已经安装了AAAPackageDev正如推荐的有序且略显繁琐创建新的突出显示语法定义的教程 但我发现克隆一个会让我进展得更快 至少 我
  • Freemarker 中的 Java.time (Java 8) 支持

    有人知道 FreeMarker 有支持新 java time api 的计划吗 或者是否有任何代码可以支持 ZonedDateTime LocalDateTime 和 Instant 等类 自己实现这些东西并不难 但实际上是一个相当大的任务