Combobox 在数据选项卡组合框中计算会话范围的名称

Combobox 在数据选项卡组合框中计算会话范围的名称,combobox,xpages,Combobox,Xpages,我有一个组合框。将计算可选项目,并具有以下布局: label1 | type1$$code1 lable2 | type2$$code2 label3 | type3$$code3 etc .. 标签1 |类型1$$code1 标签2 |类型2$$code2 标签3 |类型3$$code3 等 现在,我想将所选的值绑定到sessionScope,当选择第一项时,名称为type1,当选择第二项时,名称为type2,等等 因此,当第一个项目被分割时,它会变成 <xp:comboBox i

我有一个组合框。将计算可选项目,并具有以下布局:

label1 | type1$$code1 lable2 | type2$$code2 label3 | type3$$code3 etc .. 标签1 |类型1$$code1 标签2 |类型2$$code2 标签3 |类型3$$code3 等 现在,我想将所选的值绑定到sessionScope,当选择第一项时,名称为type1,当选择第二项时,名称为type2,等等

因此,当第一个项目被分割时,它会变成

<xp:comboBox id="comboBox4" value="#{sessionScope.type1}"></xp:comboBox>

选择第二个项目时,它应该类似于:

<xp:comboBox id="comboBox4" value="#{sessionScope.type2}"></xp:comboBox>


等等…

我处理您的需求的首选方法是使用
valueChangeListener

XPAGE:



faces-config.xml:

comboBoxController
org.test.ui.controller.ComboBoxController
看法
ComboxController:
包org.test.ui.controller;
导入java.io.Serializable;
导入javax.faces.event.ValueChangeEvent;
导入com.ibm.xsp.extlib.util.ExtLibUtil;
公共类ComboBoxController实现可序列化{
私有静态最终长serialVersionUID=1L;
公共作废值已更改(ValueChangeEvent ValueChangeEvent){
System.out.println(“oldValue:+valueChangeEvent.getOldValue());
System.out.println(“newValue:+valuechangevent.getNewValue());
字符串varname=valueChangeEvent.getNewValue().toString()子字符串(0,5);
System.out.println(“varname:+varname”);
System.out.println(“值:”+valueChangeEvent.getNewValue());
ExtLibUtil.getSessionScope().put(varname,valueChangeEvent.getNewValue());
}
}

我希望我能帮助您:)

我处理您的需求的首选方法是与
valueChangeListener一起工作

XPAGE:



faces-config.xml:

comboBoxController
org.test.ui.controller.ComboBoxController
看法
ComboxController:
包org.test.ui.controller;
导入java.io.Serializable;
导入javax.faces.event.ValueChangeEvent;
导入com.ibm.xsp.extlib.util.ExtLibUtil;
公共类ComboBoxController实现可序列化{
私有静态最终长serialVersionUID=1L;
公共作废值已更改(ValueChangeEvent ValueChangeEvent){
System.out.println(“oldValue:+valueChangeEvent.getOldValue());
System.out.println(“newValue:+valuechangevent.getNewValue());
字符串varname=valueChangeEvent.getNewValue().toString()子字符串(0,5);
System.out.println(“varname:+varname”);
System.out.println(“值:”+valueChangeEvent.getNewValue());
ExtLibUtil.getSessionScope().put(varname,valueChangeEvent.getNewValue());
}
}

我希望我能帮助您:)

将所选值写入sessionScope变量“type”,并将其值用作要使用
sessionScope[sessionScope.type]
设置的sessionScope变量的名称

可以在第二个组合框中将其设置为value属性


...
因此,例如,如果comboBox4的值为“type1”,那么Combox5将在sessionScope变量
sessionScope.type1
中读取和写入值


...
...

将所选值写入sessionScope变量“type”,并将其值用作要使用
sessionScope[sessionScope.type]
设置的sessionScope变量的名称

可以在第二个组合框中将其设置为value属性


...
因此,例如,如果comboBox4的值为“type1”,那么Combox5将在sessionScope变量
sessionScope.type1
中读取和写入值


...
...

Imagine用户逐个单击所有选项。您将得到sessionScope中的所有类型,而不知道选择了哪个类型。想象一下,用户逐个单击所有选项。您最终将得到sessionScope中的所有类型,而没有选择哪一种类型的信息。