velocity 格式化时间
2010-06-13 21:19
148 查看
尽管应用已经配置成可以渲染Velocity视图了,但我们还有一些杂七杂八的问题需要解决。当你比较程序清单9.1中的couseList.vm和courseList.jsp时,会注意到courseList.vm没有像courseList.jsp一样对课程的ID、开始日期和结束日期进行格式化。在courseList.jsp中,课程ID显示为一个6位定长的前面以零补齐的数字,而所有的日期以完整格式显示。为了完成courseList.vm,你需要对它作进一步的调整,对ID和日期属性进行格式化。
VTL并不直接支持日期和数字的格式化,而是通过提供日期和时间的工具类来支持格式化。为了允许使用这些工具,你需要告诉VelocityViewResolver在模板中暴露它们时使用的属性名。这些属性名是通过VelocityViewResolver的dateToolAttribute和numberToolAttribute属性来规定的:
<bean id="viewResolver" class="org.springframework.
➥web.servlet.view.velocity.VelocityViewResolver">
…
<property name="dateToolAttribute">
<value>dateTool</value>
</property>
<property name="numberToolAttribute">
<value>numberTool</value>
</property>
</bean>
在这里,我们规定数字工具通过numberTool属性暴露给Velocity使用。因此,要格式化课程ID,你只需要通过数字工具的format()方法来处理课程ID即可,如下:
$numberTool.format("000000", course.id)
方法format()的第一个参数是模式字符串,在这里我们规定课程ID显示为6个数字的域,必要时在前面补零。模式字符串的语法和java.text.DecimalFormat一致。请参考Velocity关于NumberTool的文档来获取更多关于该工具功能的信息。
类似地,我们分配日期工具使用dateTool属性。为了格式化课程的开始和结束日期,只需使用日期工具的format()方法:
$dateTool.format("FULL", course.startDate)
$dateTool.format("FULL", course.endDate)
与数字工具的format()方法一样,第一个参数也是模式字符串。模式字符串的语法与java.text.SimpleDateFormat一致。另外,也可以设置模式字符串为FULL、LONG、MEDIUM、SHORT或DEFAULT中的一个,以使用标准的java.text.DateFormat模式。这里我们设置模式字符串为FULL来表示完整的日期格式。请参考Velocity关于DateTool的文档来获得更多关于该工具功能的信息。
VTL并不直接支持日期和数字的格式化,而是通过提供日期和时间的工具类来支持格式化。为了允许使用这些工具,你需要告诉VelocityViewResolver在模板中暴露它们时使用的属性名。这些属性名是通过VelocityViewResolver的dateToolAttribute和numberToolAttribute属性来规定的:
<bean id="viewResolver" class="org.springframework.
➥web.servlet.view.velocity.VelocityViewResolver">
…
<property name="dateToolAttribute">
<value>dateTool</value>
</property>
<property name="numberToolAttribute">
<value>numberTool</value>
</property>
</bean>
在这里,我们规定数字工具通过numberTool属性暴露给Velocity使用。因此,要格式化课程ID,你只需要通过数字工具的format()方法来处理课程ID即可,如下:
$numberTool.format("000000", course.id)
方法format()的第一个参数是模式字符串,在这里我们规定课程ID显示为6个数字的域,必要时在前面补零。模式字符串的语法和java.text.DecimalFormat一致。请参考Velocity关于NumberTool的文档来获取更多关于该工具功能的信息。
类似地,我们分配日期工具使用dateTool属性。为了格式化课程的开始和结束日期,只需使用日期工具的format()方法:
$dateTool.format("FULL", course.startDate)
$dateTool.format("FULL", course.endDate)
与数字工具的format()方法一样,第一个参数也是模式字符串。模式字符串的语法与java.text.SimpleDateFormat一致。另外,也可以设置模式字符串为FULL、LONG、MEDIUM、SHORT或DEFAULT中的一个,以使用标准的java.text.DateFormat模式。这里我们设置模式字符串为FULL来表示完整的日期格式。请参考Velocity关于DateTool的文档来获得更多关于该工具功能的信息。
相关文章推荐
- velocity (vm模板)时间显示 时间格式化 时间转化
- Velocity 时间格式化问题
- velocity格式化时间
- velocity 时间显示 时间格式化 时间转化
- velocity 时间显示 时间格式化 时间转化
- velocity 时间显示 时间格式化 时间转化
- velocity 时间显示 时间格式化 时间转化
- 格式化输出日期和时间
- Java毫秒数时间格式化插件
- MySql 格式化时间(包括正常时间格式与unix时间戳的互相转换)
- iOS时间戳---获取近n个月(年,日)格式化时间的方法
- 浅谈jQuery.easyui的datebox格式化时间
- Jackson 时间格式化输入输出
- jquery获取当前时间并且格式化
- DateFormat java时间格式化
- [置顶] thinkphp页面时间格式化
- android 时间获取以及时间格式化
- JavaScript格式化当前时间为yyyy-mm-dd形式
- El表达式的判断字符串的长度和截取,日期时间的格式化
- ······ 时间的格式化显示 ······