java 映射组件_如何在java.util.Calendar字段上映射IceFaces组件...

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

我从IceFaces版本1.8.2开始使用组件< ice:selectInputDate>.该组件需要与java.util.Date属性绑定.例如,对于value =“#{bean.myDate}”,myDate字段必须为java.util.Date类型.但是我需要我的日期字段为java.util.Calendar类型.

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

>标准一:< f:convertDateTime pattern =“ dd / MM / yyyy” />它在GUI中格式化了正确的值,但是在Calendar类型的bean.myDate属性上进行设置时,出现以下错误消息:

[5/3/10 12:09:18:398 EEST] 00000021

lifecycle I WARNING: FacesMessage(s)

have been enqueued, but may not have

been displayed.

sourceId=j_id12:j_id189:myDate[severity=(ERROR 2),

summary=(/WEB-INF/xhtml…………file.xhtml @507,51 value=”#{bean.myDate}”: Can’t

set property ‘myDate’ on class ‘bean’

to value ‘5/11/10 3:00 AM’.),

detail=(/WEB-INF/xhtml……..file.xhtml

@507,51 value=”#{bean.myDate}”: Can’t

set property ‘myDate’ on class

‘…bean…’ to value ‘5/11/10 3:00

AM’.)]

>自定义一个:< f:converter converterId =“ c2d” />

> getAsObject-从提交的String中返回java.util.Calendar对象.

> getAsString-接收一个对象,并返回格式化的字符串.

注意:该方法被黑,所以与其期望java.util.Calendar不能与getAsObject方法互补.相反,被黑的方法getAsString需要一个java.util.Date作为参数提供(由ice:selectInputDate提供)并返回格式化的String.

但是仍然出现错误消息:

[5/3/10 12:55:34:299 EEST] 0000001f

D2DFaceletVie E

com.icesoft.faces.facelets.D2DFaceletViewHandler

renderResponse Problem in

renderResponse:

java.util.GregorianCalendar

incompatible with java.util.Date

java.lang.ClassCastException: java.util.GregorianCalendar

incompatible with java.util.Date

at com.icesoft.faces.component.selectinputdate.SelectInputDate.getTextToRender(SelectInputDate.java:252)

任何提示都是非常有用的!

谢谢,

米哈埃拉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值