为什么Xpages Extension lib中的组件不支持转换器

时间:2014-11-27 10:53:18

标签: xpages converter datetimepicker datetime-format

我的xpage正在使用xe:djDateTextBox(下图):

<xe:djDateTextBox id="djDateCreatedFrom"
                    value="#{compositeData.archiveDocument.entryDateFrom.time}"
                    title="#{javascript:languageGetLabelName('_arch_from_date')}"
                    style="width:49%;" showReadonlyAsDisabled="true"
                    readOnly="#{javascript:!compositeData.editMode}">
                    <xe:this.converter>
                        <xp:convertDateTime>
                            <xp:this.pattern><![CDATA[${javascript:"dd.MM.yyyy"}]]></xp:this.pattern>
                        </xp:convertDateTime>
                    </xe:this.converter>

public class ArchiveDocument extends Param{

/**
 * 
 */
private Calendar entryDateFrom;

public ArchiveDocument() {
    super();
    entryDateFrom = Calendar.getInstance();}
public Calendar getEntryDateFrom() {
    return entryDate;
}




public void setEntryDateFrom(Calendar entryDate) {
    this.entryDate = entryDate;
}

..... }

如果我设置标准日期时间选择器而不是xe:djDateTextBox一切正常:(吼叫)

<xp:inputText id="txtDateCreatedFrom"
                    style="width:75.0%"
                    value="#{compositeData.archiveDocument.entryDateFrom.time}"
                    readonly="#{javascript:!compositeData.visible}"
                    dojoType="dijit.form.DateTextBox">
                    <xp:this.converter>
                        <xp:convertDateTime>
                            <xp:this.pattern><![CDATA[${javascript:"dd.MM.yyyy"}]]></xp:this.pattern>
                        </xp:convertDateTime>
                    </xp:this.converter>
                    <xp:dateTimeHelper></xp:dateTimeHelper>
                </xp:inputText>

IE,Domino服务器,xpage中的模式的设置:


我的语言IE设置:英语(美国联邦)[en-US]
图案:&#34; DD.MM.YYYY&#34;
Domino服务器9.0.1 FP2
Web用户首选项:默认区域语言环境:服务器区域设置


我的页面没有显示日期时间,如27.11.2014所示。
它显示日期时间为11/27/2014。

如果我使用标准日期时间选择器,一切正常。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您的网页是否显示预先保存的值,或者只是默认为当前日期?如果是前者,你可能会误解转换器的功能。

转换器的工作是将服务器端日期/时间值转换为文本字符串,反之亦然。转换器代码全部运行在服务器端,因此如果没有预先存在的值,它将只传递一个空字符串。因此转换器不是修改浏览器提供的格式的地方,Dojo将定义值。

Dojo语言环境设置将用于用于默认值或在浏览器上输入的日期时间格式。我不确定这是否有助于解释日期和本地化http://xomino.com/2014/01/14/dealing-with-dates-and-localization-in-xpages/