Xpages 仅使用SSJS填充Dojo组合框,并包含单独的itemLabel和itemValue
我正在支持我的公司最古老的也是第一个XPages应用程序。该应用程序不使用java实现任何功能,而是使用SSJS实现所有功能。我不希望仅为这一项任务就开始使用JavaBean 这个问题涉及java的方式来做我需要的事情:(虽然我知道这是更好的方式,但我正在努力坚持已经建立的模式) 该应用程序将所有关键字加载到applicationScope中,然后在需要时使用它们。我正在尝试加载显示值,并在存储时返回关联的值。这与多年来传统纸币的表现相似 我更改了applicationScope值以将值存储在管道(|)之后,但我还没有弄清楚如何使用SSJS使用该值。我开始怀疑这是否可能Xpages 仅使用SSJS填充Dojo组合框,并包含单独的itemLabel和itemValue,xpages,Xpages,我正在支持我的公司最古老的也是第一个XPages应用程序。该应用程序不使用java实现任何功能,而是使用SSJS实现所有功能。我不希望仅为这一项任务就开始使用JavaBean 这个问题涉及java的方式来做我需要的事情:(虽然我知道这是更好的方式,但我正在努力坚持已经建立的模式) 该应用程序将所有关键字加载到applicationScope中,然后在需要时使用它们。我正在尝试加载显示值,并在存储时返回关联的值。这与多年来传统纸币的表现相似 我更改了applicationScope值以将值存储在管
我尝试使用核心组合框控件而不是Dojo组合框来生成所需的代码。看起来您不能对标签和值使用单独的“公式项”。除了使用java集合之外,是否有人提出了解决方案。您可以在SSJS中使用java解决方案。您只需要
var
而不是new
引用中的初始类名和完整类名,因此java.util.ArrayList而不是ArrayList,javax.faces.model.SelectItem而不是SelectItem。看这里
因此,您链接到的StackOverflow问题中转换为SSJS的代码应该是:
var options = new java.util.ArrayList();
var option = new javax.faces.model.SelectItem();
option.setLabel("Here's a label");
option.setValue("Here's a value");
options.add(option);
return options;
您可以在SSJS中使用Java解决方案。您只需要
var
而不是new
引用中的初始类名和完整类名,因此java.util.ArrayList而不是ArrayList,javax.faces.model.SelectItem而不是SelectItem。看这里
因此,您链接到的StackOverflow问题中转换为SSJS的代码应该是:
var options = new java.util.ArrayList();
var option = new javax.faces.model.SelectItem();
option.setLabel("Here's a label");
option.setValue("Here's a value");
options.add(option);
return options;
您可以在SSJS中使用Java解决方案。您只需要
var
而不是new
引用中的初始类名和完整类名,因此java.util.ArrayList而不是ArrayList,javax.faces.model.SelectItem而不是SelectItem。看这里
因此,您链接到的StackOverflow问题中转换为SSJS的代码应该是:
var options = new java.util.ArrayList();
var option = new javax.faces.model.SelectItem();
option.setLabel("Here's a label");
option.setValue("Here's a value");
options.add(option);
return options;
您可以在SSJS中使用Java解决方案。您只需要
var
而不是new
引用中的初始类名和完整类名,因此java.util.ArrayList而不是ArrayList,javax.faces.model.SelectItem而不是SelectItem。看这里
因此,您链接到的StackOverflow问题中转换为SSJS的代码应该是:
var options = new java.util.ArrayList();
var option = new javax.faces.model.SelectItem();
option.setLabel("Here's a label");
option.setValue("Here's a value");
options.add(option);
return options;
您可以在SSJS中使用Java class
javax.faces.model.SelectItem
来填充selectItems:
<xp:comboBox id="comboBox1">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:
var item1 = new javax.faces.model.SelectItem("Value1", "Label1");
var item2 = new javax.faces.model.SelectItem("Value2", "Label2");
[item1, item2]
}]]></xp:this.value>
</xp:selectItems>
...
</xp:comboBox>
...
您可以在SSJS中使用Java类javax.faces.model.SelectItem来填充selectItems:
<xp:comboBox id="comboBox1">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:
var item1 = new javax.faces.model.SelectItem("Value1", "Label1");
var item2 = new javax.faces.model.SelectItem("Value2", "Label2");
[item1, item2]
}]]></xp:this.value>
</xp:selectItems>
...
</xp:comboBox>
...
您可以在SSJS中使用Java类javax.faces.model.SelectItem来填充selectItems:
<xp:comboBox id="comboBox1">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:
var item1 = new javax.faces.model.SelectItem("Value1", "Label1");
var item2 = new javax.faces.model.SelectItem("Value2", "Label2");
[item1, item2]
}]]></xp:this.value>
</xp:selectItems>
...
</xp:comboBox>
...
您可以在SSJS中使用Java类javax.faces.model.SelectItem来填充selectItems:
<xp:comboBox id="comboBox1">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:
var item1 = new javax.faces.model.SelectItem("Value1", "Label1");
var item2 = new javax.faces.model.SelectItem("Value2", "Label2");
[item1, item2]
}]]></xp:this.value>
</xp:selectItems>
...
</xp:comboBox>
...
也许我没有回答你的问题,因为我的回答相当简单,但要使用JavaScript计算标签和值,请创建一个字符串的JavaScript数组,其中每个字符串的格式为“Label | Value”(垂直条是Domino字段中的分隔符)
Howard也许我没有回答你的问题,因为我的回答相当简单,但要使用JavaScript计算标签和值,请创建一个JavaScript字符串数组,其中每个字符串的格式为“Label | Value”(垂直条是Domino字段中的分隔符)
Howard也许我没有回答你的问题,因为我的回答相当简单,但要使用JavaScript计算标签和值,请创建一个JavaScript字符串数组,其中每个字符串的格式为“Label | Value”(垂直条是Domino字段中的分隔符)
Howard也许我没有回答你的问题,因为我的回答相当简单,但要使用JavaScript计算标签和值,请创建一个JavaScript字符串数组,其中每个字符串的格式为“Label | Value”(垂直条是Domino字段中的分隔符)
霍华德(Howard)之所以选择这个答案,是因为:构建集合,添加到集合中,然后传递整个集合符合我从应用程序范围中阅读的方式。感谢您给出这个答案,因为:构建集合,添加到集合中,然后传递整个集合符合我从应用程序范围阅读的方式。感谢您给出这个答案,因为:构建集合,添加到集合中,然后传递整个集合符合我从应用程序范围阅读的方式。感谢您给出这个答案,因为:构建集合,添加到集合中,然后传递整个集合符合我从应用程序范围阅读的方式。谢谢你,保罗