首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在IceFaces字段上映射<ice:selectInputDate>组件?

如何在IceFaces字段上映射<ice:selectInputDate>组件?
EN

Stack Overflow用户
提问于 2010-05-04 14:44:59
回答 2查看 5.1K关注 0票数 2

有谁知道如何将组件<ice:selectInputDate>映射到java.util.Calendar字段,而不是java.util.Date上?

我使用的是IceFaces版本1.8.2,组件<ice:selectInputDate>。此组件需要与java.util.Date proeprty绑定。例如,value="#{bean.myDate}"myDate字段必须是java.util.Date类型。但是我需要我的日期字段是java.util.Calendar类型的。

我试过使用标准转换器或自定义转换器:

  1. 标准一:<f:convertDateTime pattern="dd/MM/yyyy" />格式更正了GUI中的值,但在属性bean.myDate (类型为Calendar )上设置值时,我得到以下错误消息:

5/3/10 12:09:18:398 EEST 00000021生命周期I警告: FacesMessage(s)已排队,但可能没有显示。SourceId=j_id12:j_id189:myDateseverity=(错误2),summary=(/WEB/xhtml.file.xhtml @507,51 value="#{bean.myDate}":无法将类'bean‘上的属性'myDate’设置为'5/11/10 3:00 AM.‘),detail=(/WEB/xhtml.file.xhtml @507,51 value=@#{bean.myDate}):无法在类’...bean‘上设置属性'myDate’.值“5/11/10 3:00 AM”)

  1. 定制一:<f:converter converterId="c2d"/>
  • getAsObject --从提交的String中返回java.util.Calendar对象。
  • getAsString -接收一个Object,并返回格式化的String

注意:这个方法被黑了,而不是期望java.util.CalendargetAsObject方法互补。相反,被黑客攻击的方法getAsString需要一个java.util.Date作为参数(由ice:selectInputDate提供)并返回格式化的String

但是仍然会出现一条错误消息:

5/3/10 12:55:34:299 EEST 0000001f com.icesoft.faces.facelets.D2DFaceletViewHandler renderResponse renderResponse: java.util.GregorianCalendar不兼容java.util.Date java.lang.ClassCastException: java.util.GregorianCalendar与java.util.Date不兼容

EN

Stack Overflow用户

发布于 2010-05-05 16:21:30

要么按BalusC的建议做,要么简单地设置value="#{yourBean.yourCalendar.time}

票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2766287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档