如何从 XPage 的 radiogroup 中的 sessionscope 获取价值 [英] How to get value from sessionscope in radiogroup for XPages

查看:14
本文介绍了如何从 XPage 的 radiogroup 中的 sessionscope 获取价值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个 XPage 应用程序,它是在 Notes 关键字文档的帮助下设置的.这些关键字通过 sessionScopes 提供.范围变量的一个例子是:

We have an XPages application that is setup with help of Notes keyword documents. These keywords are made available via sessionScopes. An example of a scope variable is:

名称范围:key_customer_sv

name scope: key_customer_sv

值:

默认值 [是,否]

对于我使用 LinkedHashSet 来保证插入顺序的值:

For the values I am using a LinkedHashSet to guarantee the insertion order:

var values:java.util.LinkedHashSet = new java.util.LinkedHashSet();
                        var iterator = keyValues.iterator();                         
                        while (iterator.hasNext()) {
                            var itemvalue = iterator.next();
                            values.add(itemvalue);
                        }                       
                        map.put("values",values);   

值存储为 HashMap,对名称为默认值和值.

The values are stored as as HashMap and the pair names are default and values.

对于我的 xp:radioGroup 控件,我想读取范围变量并返回值条目的值.

For my xp:radioGroup control I want to read the scope variable and return the values of the value entry.

我该怎么做?

这是我尝试过的:

var language = "_" + context.getLocaleString();
var languageDefault = "_" + "sv";
var key = "customer";
var values;
try{
    values = sessionScope.get("key_" + key + language )['values'];
}catch(e){
    print(e);
}
if (null == values){
    values = sessionScope.get("key_" + key + language Default)['values'];
}
return values

推荐答案

这对我有用:

var language = "_" + context.getLocaleString();
var languageDefault = "_" + "sv";
var key = "customer";
var values;
try{
    values = sessionScope.get("key_" + key + language ).get('values');
}catch(e){
    print(e);
}
if (null == values){
    values = sessionScope.get("key_" + key + languageDefault).get('values');
}
return values==null?"":values.toArray();

使用 .get('values') 而不是 ['values'] 获取值很重要,因为它返回不同的东西.

It is important by getting values using .get('values') instead of ['values'] , because it returns something different.

我测试是用这个代码填充 sessionScope:

I tested is by filling sessionScope with this code:

var key_customer_sv:java.util.HashMap = new java.util.HashMap();
var values:java.util.LinkedHashSet = new java.util.LinkedHashSet();
values.add("Yes");
values.add("No");                       
key_customer_sv.put("values",values);
key_customer_sv.put("default", "Yes");
sessionScope.put("key_customer_sv", key_customer_sv)

这篇关于如何从 XPage 的 radiogroup 中的 sessionscope 获取价值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆