Beetl 日期格式化

没想好 发布于 2017/01/20 12:10
阅读 3K+
收藏 0

@闲大赋 你好,想跟你请教个问题:

Spring Boot集成Beetl,在模版内输出日期字段默认输出未格式化,如下字段

private java.util.Date offTime;
模版内使用 , <input  value=" ${model.addedTime!} "> 输出   Wed Jan 18 00:00:00 CST 2017

文档内提供的方法:

Today is ${date,dateFormat="yyyy-MM-dd"}.
Today is ${date,dateFormat}
salary is ${salary,numberFormat="##.##"}

使用${model.addedTime,“yyyy-MM-dd”} 没有问题,但是放到input内报解析HTML标签出错。

尝试如下方式都报错:

<input value="${model.addedTime,"yyyy-MM-dd"}">

<input value="${model.addedTime,'yyyy-MM-dd'}">

<input value='${model.addedTime,"yyyy-MM-dd"}'>

如何在标签内使用格式化,且${model.addedTime!} 内!怎样输入${model.addedTime!,"yyyy-MM-dd"}

能否在beetl.properties内配置java.util.Date输出yyyy-dd-mm格式,java.sql.Timestamp输出yyyy-dd-mm HH🇲🇲ss,

获取有没有什么注解在javabean内注释,

或HttpMessageConverters方法,在spirng boot输入输出做转换。



加载中
0
闲大赋
闲大赋

你用的是 <#input,也就是html自定义标签,是不支持格式化函数的,参考文档

2.23. HTML标签

在属性里引用beetl变量,不支持格式化,如<#input value=”${user.date,‘yyyy-MM-dd’ }” />,如果需要格式化,需要在input.tag文件里自行格式化

里面提到了不支持格式化标签,你只能将值传给标签实现里,在里面格式化

0
闲大赋
闲大赋

错误原因贴一下原图看看。我觉得不应该有这个问题!

针对你需要,你需要自己实现一个格式化函数,然后针对其类型做特定输出,最后大概是这个样子:


${dateXXX,myFormat}
${timestampXXX,myFormat}



如何实现格式化函数和注册成为myFormat,你可以参考一下文档

0
没想好

引用来自“闲大赋”的评论

错误原因贴一下原图看看。我觉得不应该有这个问题!

针对你需要,你需要自己实现一个格式化函数,然后针对其类型做特定输出,最后大概是这个样子:


${dateXXX,myFormat}
${timestampXXX,myFormat}



如何实现格式化函数和注册成为myFormat,你可以参考一下文档

>>01:53:54:解析HTML标签出错(PARSER_HTML_TAG_ERROR):未知标签 位于17行 资源:bs/product/form.html
标签未正确结束:input,碰到非法符号'y'
16|<#input label="价格" name="price" val="${model.marketPrice!}" error="${errors.priceMsg!}" />
17|<#input label="时间" name="addedTime" val="${model.addedTime,"yyyy-MM-dd"}" error="${errors.addedTimeMsg!}" attr="data-am-datepicker" />
  ========================
  调用栈:
  bs/product/form.html 行:17
  bs/product/add.html 行:7

input标签:

<div class="am-form-group am-form-group-sm ${isNotEmpty(error)?'am-form-error'}">
	<label class="am-u-sm-3 am-form-label">${label}</label>
	<div class="am-u-sm-9">
		<input type="${isNotEmpty(type)?type:'text'}" class="am-form-field" name="${name}" placeholder="${isNotEmpty(placeholder)?placeholder:label}" value="${val!}" ${attr!}>
		${isNotEmpty(error)?'<span class="am-icon-warning"> '+error+'</span>'}
	</div>
</div>





返回顶部
顶部