在用<s:property value="orderDate" />时,当取到的属性是date类型时,它会显示成为yy-MM-dd。
两种解决方案:
或者:dto,把数据库中的date转化为string类型
或者:用struts的date标签, 这样可以按照指定格式显示出来
先说后者:
<s:date name="orderDate" format="yyyy-MM-dd" />,注意,大写的M和小写的m是不一样的。
还可以有nice属性:Nice: 指定是否输出指定日期与当前时刻之间的时差。可以设为true或者false,表示是否漂亮地显示日期,如果设置为true,那么将FORMAT属性将不会生效
Format
(1)当nice="false"时,format属性将起作用,如:"yyyy- MM-dd hh:mm:ss",其中,y是年(year),M是月(Month),d是日(day),h是小时(hour,12小时制),H也是小 时(hour,24小时制),m是分钟(minute),s是秒(second)。
(2)当format未设置时,将会使用默认的格式DateFormat.MEDIUM format
再说前者:
前者就要从oracle中转成对象,时,将其设为指定的格式:
public List queryForPage(int offset, int length) {
SQLQuery query = null;
String resultSql = "select PLATE_ALARM_ID as alarmId,ENABLE as isEnable," +
"ALARM_COMPANY as alarmCompany,PLATE_INFO as plateNo," +
"to_char(START_TIME,'yyyy-mm-dd') as startTime,to_char(END_TIME,'yyyy-mm-dd') as endTime," +
"ALARM_RESON as alarmReason,user_def_name as alarmReasonStr," +
"PRIORITY as priority,CONTACT_PERSON as contactPersonName," +
"CONTACT_PHONE as contactPhoneNo,ALARM_REMARK as description from HPS_PLATEALARMINFO h,hps_userdefine u where h.alarm_Reson=u.user_def_id";
query = (SQLQuery) getSession().createSQLQuery(resultSql)
.addScalar("alarmId", Hibernate.INTEGER)
.addScalar("isEnable", Hibernate.INTEGER)
.addScalar("alarmCompany", Hibernate.STRING)
.addScalar("plateNo", Hibernate.STRING)
.addScalar("startTime", Hibernate.STRING)
.addScalar("endTime", Hibernate.STRING)
.addScalar("alarmReason", Hibernate.INTEGER)
.addScalar("alarmReasonStr", Hibernate.STRING)
.addScalar("priority", Hibernate.INTEGER)
.addScalar("contactPersonName", Hibernate.STRING)
.addScalar("contactPhoneNo", Hibernate.STRING)
.addScalar("description", Hibernate.STRING)
.setFirstResult(offset)
.setMaxResults(length)
.setResultTransformer(Transformers.aliasToBean(HPSPlateAlarmDTO.class));
List<HPSPlateAlarmDTO> hPSPlateAlarmList = query.list();
return hPSPlateAlarmList;
}
转化为dto对象了。。
再说说to_char和to_date:
to_char 是把日期或数字转换为字符串
to_date 是把字符串转换为数据库中得日期类型
简单地说,一般从oracle中取数据,用to_char,向oracle中存数据,用to_date
转换函数
TO_CHAR
使用TO_CHAR函数处理数字
TO_CHAR(number, '格式')
TO_CHAR(salary,’$99,999.99’);
使用TO_CHAR函数处理日期
TO_CHAR(date,’格式’);
TO_NUMBER
使用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, '格式'])
TO_DATE
使用TO_DATE函数将字符转换为日期
TO_DATE(char[, '格式'])
数字格式格式
9 代表一个数字
0 强制显示0
$ 放置一个$符
L 放置一个浮动本地货币符
. 显示小数点
, 显示千位指示符
日期格式
格式控制 描述
YYYY、YYY、YY 分别代表4位、3位、2位的数字年
YEAR 年的拼写
MM 数字月
MONTH 月的全拼
MON 月的缩写
DD 数字日
DAY 星期的全拼
DY 星期的缩写
AM 表示上午或者下午
HH24、HH12 12小时制或24小时制
MI 分钟
SS 秒钟
SP 数字的拼写
TH 数字的序数词
“特殊字符” 假如特殊字符
HH24:MI:SS AM 15:43:20 PM
DD “OF” MONTH 12 OF OCTOBER
DDSPTH fourteenth
Date的格式 ’18-5月-84’
分享到:
相关推荐
eclipse插件,根据数据库表自动生成DTO(pojo)插件!eclipse插件,根据数据库表自动生成DTO(pojo)插件!
Java利用Freemarker模板自动生成dto、dao、rowmapper、bo、service代码,代码可以直接复制到项目中使用,代码是基于pring框架的
MyBatisPlus自带了一个代码生成器mybatis-plus-generator,可基于数据库库表,结合模板技术,自动生成程序源码,不过默认情况下,只支持Entity、Mapper、Service、Controller这些层次。如果想生成未预置的代码,如vo...
通过导入Excel模板快速生成DTO,简单易用,下载即可打开使用,加快开发效率
根据数据库自动生成DAO和DTO,具体方法:解压到D盘根目录,修改property文件的数据库路径,驱动,用户名,密码等,进入CMD到D盘运行java -jar kingdao.jar即在D盘根目录test文件夹下生成DAO和DTO-DAO and the ...
导入Excel快速生成javaBean,下载即可享用,大大便捷开发效率
mybatis-generator 生成Dto,Dao,Mapping
先配置文件的账户和密码,然后运行命令行,就可以自动数据库表里面的DAO访问类了,非常方便!
generate 还将创建一个 convertFromEntity 方法,该方法会将您的实体对象中的所有值复制到 dto 中。 如果带有 DTO 后缀的类已经存在,插件将退出并且不做任何事情。 (未来版本将让用户选择目的地) 尚未实施
Springboot DTO字符字段与日期字段的转换问题 不会自动转换string与date 主要是这个意思,前端提交的JSON里,日期是一个字符串,而对应后端的实体里,它是一个Date的日期,这两个在默认情况下是不能自动转换的,...
项目中,自动生成javabean对象和Dto,所有的项目加注释
T4 Dto Builder 从 Visual Studio 中的现有 DTO 类生成 DTO 生成器的 T4 模板。 阅读更多内容: : 麻省理工学院许可证。 只需使用它!
由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,所以查资料发现有现成的工具可以自动生成底层模型类、Dao接口类甚至Mapping映射文件。
反射生成dto service serviceimpl mapper model类,自动生成代码集成mybats-plus 让开发更高效
AutoMapper完成Dto与Model的转换
Java中 PO VO BO DTO DAO 和 POJO 关系图
概括 (数据传输对象代码生成器API)可帮助开发人员快速有效地使用DTO设计模式。... 您可以在ClassGenerator接口中使用generateDTOClass方法生成DTO类。 您必须注意一些注意事项: 首先将该项目的jar
java 使用 JAXB 将xml转换为 bean 包含xml和dto和读取文件的util类
根据数据库生成实体类,生成的mapper.xml为空,请谨慎下载。使用说明:https://blog.csdn.net/L13890/article/details/81216441
NULL 博文链接:https://godsend-jin.iteye.com/blog/2221906