如何在XPage中使用SSJS替换日期列表中的日期

时间:2015-03-25 16:00:40

标签: date xpages xpages-ssjs

我有一个日期列表字段,需要用另一个值

替换列表中的值

所以我有这个类型列表"日期列表"

enter image description here

用户在网页的日期字段中输入新值。在这种情况下,应该将此新值添加到日期列表中的第二项,但在实际情况下,它应该能够添加到列表中的任何位置

这是用户输入新日期的输入字段

<xp:inputText id="inputText1">
                <xp:this.converter>
                    <xp:convertDateTime pattern="yyyy-MM-dd"></xp:convertDateTime>
                </xp:this.converter>
</xp:inputText>

这是我在我的按钮中使用的代码,它应该替换日期
doc是XPage上的数据源

var v:java.util.Vector = doc.getDocument().getItemValueDateTimeArray("TDate")
v.setElementAt(getComponent("inputText1").getValue(),1)
doc.replaceItemValue("TDate",v)
doc.save()

我不确定我在这里做错了什么,但我似乎有两个问题,首先我保存后字段似乎只包含一个元素,其次添加的日期包含日期和时间,而不仅仅是日期

这是运行代码后的结果

enter image description here

使用多值&#34;文本&#34;运行相同类型的代码现场工作正常。

如何修改我的代码,以便我在日期列表中的替换操作

1 个答案:

答案 0 :(得分:0)

  1. 设置没有时间部分的日期值 获取一个DateTime对象并在NDT对象上调用函数 setAnyTime()并替换该项
  2. 在多值日期时间字段中设置特定时间值 获取该字段,您将获得包含所有datetime对象的向量。 获取向量中的特定时间日期更改它并将其设置回向量。然后更换项目