在编写EOS程序中经常有客户要求对日期类型的数据的显示有特别的要求,如页面中录入某个日期型数据时候,显示在文本输入窗口中希望是 yyyy-MM-dd等类型格式,由于EOS缺省的日期格式为yyyyMMdd,导致保存到数据库中的时候系统不能正确识别日期的格式类型,所以往往需要写额外的程序把字符串进行过虑,实际上EOS dataservice已经提供了日期类型的转换的支持,如果是需要把数据插入到数据库中按照指定格式插入产生的XML数据应该是如下:
<CUSTOMER>
<BIRTHDAY pattern="yyyy-MM-dd">1970-01-01</BIRTHDAY>
</CUSTOMER>
你可以在HTML页面中用这种方式构造
<input type="text" name="CUSTOMER/BIRTHDAY[@pattern='yyyy-MM-dd']" value="1970-01-01">
如果你需要查询条件也要按照指定格式的话,查询条件 criteria的XML数据如下:
<CUSTOMER criteria="=">
<BIRTHDAY criteriaPattern="yyyy/MM/dd">1970/01/01</BIRTHDAY>
</CUSTOMER>
<CUSTOMER criteria="=">
<BIRTHDAY criteria="between" criteriaPattern="yyyy-MM-dd">1970-01-01:1975-01-01</BIRTHDAY>
</CUSTOMER>
如果你要查询的结果也是按照指定格式产生的话就需要在上面的查询条件中增加一个属性,XML如下:
<CUSTOMER criteria="=">
<BIRTHDAY pattern="yyyy年MM月dd日" criteriaPattern="yyyy/MM/dd">1970/01/01</BIRTHDAY>
</CUSTOMER>
在html中产生的标签是:
<input type="text" name="CUSTOMER/BIRTHDAY[@pattern='yyyy年MM月dd日'][@criteriaPattern="yyyy-MM-dd"] value="1970-01-01">
其它形式的直接输出:
<bean:write id="ResultSet" property="SPRODUCT/STIME" formatType="yyyy年MM月dd日" formatClass="com.primeton.eos.webtag.bean.BeanWriteDateFormatImpl"/>