JSF中时间控件 <p:calendar>注意事项

小生第一次用JSF的时间控件<p:calendar>,绑定了相关的Bean后,想着不能让用户随意输入时间值,于是写了以下页面代码:

<p:calendar id="startDate" readonly="true" pattern="yyyy-MM-dd" value="#{myBean.startDate}"  />

 相关的Bean代码如下:

import java.util.Date;
 
public class MyBean{
    private Date startDate;
 
    public Date getStartDate(){
        return this.startDate;
    }
    public void setStartDate(Date date){
        this.startDate = date;
    }
}

 

本以为这样写应该就OK了,可是结果发现在MyBean中startDate的值一直为Null,让我百思不得其解。后来在无意中去掉了<p:calendar>的 "readonly='true'"的属性后,发现MyBean中居然有值了!

 

于是我个人认为在JSF中因为是与Bean相绑定的,而一旦设置了readonly="true"后,并不代表页面文本框无法输入,而应该是相应的Bean的setXXX方法无效,从而达到“只读”的目的。

 

以上为个人愚见,如有不妥之处,望大家指出。至于如何禁止文本框输入没想到很好的方法,以后有空再找找资料了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值