如何将ViewScope值作为Java中的对象存储?

时间:2016-03-17 20:15:11

标签: jsf xpages

我有一个存储在ViewScope中的对象:ObjectName(valueA:one,valueB:two)

enter image description here

我使用Java存储了值:

ObjectObject location = new ObjectObject();
location.put("valueA", FBSUtility.wrap("one"));
location.put("valueB", FBSUtility.wrap("two"));
Utils.setViewScope("ObjectName", location);

如何从ViewScope中检索这些值?我尝试过做类似以下的事情:

ObjectObject location;
location = (ObjectObject) ExtLibUtil.getViewScope().get("ObjectName");

但我不确定使用什么方法来获取值,或者这是否是正确的路径。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

使用FBS课程的方式有点不寻常,但这条路径足以完成您想要的任务。只要后一个代码在格式之后执行,它应该检索相同的对象并将其正确地转换为ObjectObject。之后,您可以使用location.get("valueA")等按名称获取值,然后使用FBSValue的任何方法(我猜stringValue())。

顺便说一句,除非您特别需要使用这些内部类(例如,如果您正在使用SSJS函数做一些奇特的事情),否则使用普通HashMap<String, Object>可能是有意义的。 SSJS和EL可以很好地合作。