gpt4 book ai didi

java - 将 linkedhashset 作为多值返回到 xpage

转载 作者:行者123 更新时间:2023-11-30 06:49:07 25 4
gpt4 key购买 nike

在我的应用程序中,我将一个对象的属性定义为 LinkedHashSet。我用多值字段中的值填充的属性:

Vector<String> ctrs = doc.getItemValue("countries");        
LinkedHashSet<String> items = new LinkedHashSet<String>();
for (int i = 0; i < ctrs.size(); i++){
items.add(ctrs.get(i));
}
employee.setCountry(items);

我想在 XPage 上显示如下值:

<xp:inputText id="inputCountries" value="#{employeeBean.employee.Country}">
<xp:this.multipleSeparator><![CDATA[#{javascript:var val = getComponent("contractType").getValue();
if (val == "Multi"){
return ",";
}}]]></xp:this.multipleSeparator>
</xp:inputText>

根据员工的类型,此字段可能是单值或多值。

当查看 XPage 时,返回值显示如下:

[瑞典、丹麦、爱沙尼亚]

当然我会把它显示为多值。我应该怎么做才能纠正这个问题?

最佳答案

如果您将 HashSet 转换为数组,那么它应该可以工作

这里是一个例子,第一个是单值/第二个是多值字段:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

<xp:inputText id="singleValue" multipleSeparator=",">
<xp:this.value><![CDATA[#{javascript:var items:java.util.Set = new java.util.LinkedHashSet();
items.add("Sweden");
return items.toArray();}]]>
</xp:this.value>
</xp:inputText>

<br></br>
<br></br>

<xp:inputText id="multiValue" multipleSeparator=",">
<xp:this.value><![CDATA[#{javascript:var items:java.util.Set = new java.util.LinkedHashSet();
items.add("Sweden");
items.add("Denmark");
items.add("Estonia");
return items.toArray();}]]>
</xp:this.value>
</xp:inputText>

</xp:view>

浏览器上的输出如下:

Sweden

Sweden,Denmark,Estonia

关于java - 将 linkedhashset 作为多值返回到 xpage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43364693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com