Xpages:在java中使用日期

Bry*_*ler 1 java xpages

我在Xpages中有一个由ObjectBean管理的文档.将我在Xpage中的字段与EL绑定,因此字段看起来像......

<xp:inputText id="inputText2" xp:key="field"
    value="#{ObjectBean.serialNumber}" />
</xp:this.facets>
Run Code Online (Sandbox Code Playgroud)

在我的bean中,我有getter,setter,加载,验证等等,它工作正常.

现在我需要添加一个日期字段.在Xpage我有

                        <xp:inputText xp:key="field"
                            id="checkInDate" value="#{ObjectBean.checkInDate}">
                            <xp:this.converter>
                                <xp:convertDateTime
                                    type="date">
                                </xp:convertDateTime>
                            </xp:this.converter>
                            <xp:dateTimeHelper>
                            </xp:dateTimeHelper>
                        </xp:inputText>
Run Code Online (Sandbox Code Playgroud)

我意识到添加Date或DateTime字段需要一些特殊代码,但无法弄清楚要做什么.

我的吸气剂和制定者是:

public Date getCheckInDate() {      
        if (checkInDate == null) {
            checkInDate = new Date();
        }
        return checkInDate;
}

public void setCheckInDate(Date checkInDate) {
    this.checkInDate = checkInDate;
}
Run Code Online (Sandbox Code Playgroud)

在我的保存中,我正在尝试这个

日期tmpDate = session.createDateTime(checkInDate).toJavaDate(); doc.replaceItemValue( "checkInDate",checkInDate);

还有这个

doc.replaceItemValue("checkInDate",session.createDateTime(checkInDate));
Run Code Online (Sandbox Code Playgroud)

但是我得到一个错误,或者在第二种情况下我没有收到错误但没有保存任何内容(文档未保存).

小智 5

您将Date作为参数传递给方法createDateTime,但在文档中声明它应该是一个String.

您需要将Date转换为String,请参阅http://www.mkyong.com/java/java-date-and-calendar-examples/

或者使用OpenNTF Domino API,replaceItemValue也会接受日期;-)