如何在Spring框架中调用JSP文件中的转换器?

如何在Spring框架中调用JSP文件中的转换器?,spring,date,timestamp,converter,Spring,Date,Timestamp,Converter,我是Spring框架新手,我设法制作了一个非常简单的CMS,使用Hibernate数据持久性(我使用mySQL数据库)在frontpage上显示文章。我的数据模型使用了一些德鲁巴风格的术语(比如“节点”),因为我已经习惯了这些术语 现在,我正在努力将存储在数据库中的UNIX时间戳转换为ISO日期格式。我决定编写自己的转换器来完成这项任务 我做了家庭作业,阅读了Spring参考指南,搜索了教程等,但似乎转换器主要是一种用于转换GET参数和POST查询数据的工具。那么,如何将控制器绑定到模型中的对象

我是Spring框架新手,我设法制作了一个非常简单的CMS,使用Hibernate数据持久性(我使用mySQL数据库)在frontpage上显示文章。我的数据模型使用了一些德鲁巴风格的术语(比如“节点”),因为我已经习惯了这些术语

现在,我正在努力将存储在数据库中的UNIX时间戳转换为ISO日期格式。我决定编写自己的转换器来完成这项任务

我做了家庭作业,阅读了Spring参考指南,搜索了教程等,但似乎转换器主要是一种用于转换GET参数和POST查询数据的工具。那么,如何将控制器绑定到模型中的对象中的字段转换为字段呢?我在研究过程中错过了什么

JSP代码的一部分(frontpage.JSP):

我的虚拟转换器(稍后我将添加实现):

封装转换器;
导入org.springframework.core.convert.converter.converter;
公共类TimestampToDateConverter实现转换器{
公共字符串转换(长s){
返回“0000-00-00:00:00”;//伪代码
}
}
Dispacher的配置:

<mvc:annotation-driven conversion-service="conversionService" />

<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean class="converters.TimestampToDateConverter"/>
        </list>
    </property>
</bean>

为什么不使用日期数据类型。 例如,使用JSTL,您可以轻松地实现您的案例,而无需额外的转换器

<fmt:formatDate pattern="yyyy-MM-dd hh:mm:ss" value="${node.time}" />

为什么不使用日期数据类型。 例如,使用JSTL,您可以轻松地实现您的案例,而无需额外的转换器

<fmt:formatDate pattern="yyyy-MM-dd hh:mm:ss" value="${node.time}" />


谢谢您的回答,但进展仍然不顺利。在我的Hibernate bean中,我在setter中对“timestamp”(Long datatype)字段进行了这种转换:public Date getTimestamp(){Date Date=new Date();Date.setTime(timestamp.longValue());return Date;}在呈现的html中,我得到了类似1970-01-16 02:41:33的日期,看起来它没有传递正确的值。。。但是,HibernateBeans中的时间戳是正确的。表中该列的类型是什么?我使用BIGINT(20)来存储时间戳。我在getter中为timestamp生成了一个简单的System.out输出,结果是正确的。日期值也是正确的。Ups,我忘了将时间戳变量乘以1000,正如这里所说的:不是,我可以自由使用JSTL的fmt:formatDate,因为我有适当的数据可以使用。:)现在,我的时间戳getter如下所示:public Date getTimestamp(){return new Date(timestamp*1000);}谢谢您的回答,但它仍然不顺利。在我的Hibernate bean中,我在setter中对“timestamp”(Long datatype)字段进行了这种转换:public Date getTimestamp(){Date Date=new Date();Date.setTime(timestamp.longValue());return Date;}在呈现的html中,我得到了类似1970-01-16 02:41:33的日期,看起来它没有传递正确的值。。。但是,HibernateBeans中的时间戳是正确的。表中该列的类型是什么?我使用BIGINT(20)来存储时间戳。我在getter中为timestamp生成了一个简单的System.out输出,结果是正确的。日期值也是正确的。Ups,我忘了将时间戳变量乘以1000,正如这里所说的:不是,我可以自由使用JSTL的fmt:formatDate,因为我有适当的数据可以使用。:)现在,我的时间戳getter如下所示:public Date getTimestamp(){返回新日期(timestamp*1000);}
<mvc:annotation-driven conversion-service="conversionService" />

<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean class="converters.TimestampToDateConverter"/>
        </list>
    </property>
</bean>
<fmt:formatDate pattern="yyyy-MM-dd hh:mm:ss" value="${node.time}" />