如何设置组合框值?

How to set combobox value?

我需要根据登录用户来确定菜单中显示的值。 如果菜单中有 Ariel、Austin、Jennifer 和 Ryan,当我以 Ariel 身份登录时,菜单将不会显示 Ariel,只有 Austin、Jennifer 和 Ryan。 如何实现这个要求?

enter image description here

enter image description here

最简单的方法是将可用选择绑定到 Java脚本函数或托管 bean。它 returns 一个数组 (JS) 或集合 (Java)。在函数内部,您可以根据用户

执行必要的操作

获取当前登录用户名

var username = session.createName(session.getEffectiveUserName()).getCommon()

并从用户列表中删除该名称。

示例:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:comboBox id="comboBox1">
        <xp:selectItems>
            <xp:this.value><![CDATA[#{javascript:
                var names = new java.util.ArrayList();
                names.add("Ariel A");
                names.add("Austin B");
                names.add("Jennifer C");
                names.add("Ryan D");
                var username = session.createName(session.getEffectiveUserName()).getCommon();
                names.remove(username);
                return names;
            }]]></xp:this.value>
        </xp:selectItems>
    </xp:comboBox>
</xp:view>