计算 EditBox 控件中 View Scope 的变量名

Calculate variable name for View Scope in EditBox control

是否可以为EditBox控件的ViewScpe计算变量名?

编辑框控件位于在 XPage 上多次重复使用的自定义控件中。

<xp:inputText id="inpValidDate"
    value="#{viewScope.valid}">
</xp:inputText>

我想使用如下的东西:

value="${viewScope[#{'compositeData.type'}]}"

如果它总是像那样在 viewScope 中成为 属性,您可以添加自定义 属性,例如 "propName",并将绑定设置为:

<xp:inputText value="#{viewScope[compositeData.propName]}"/>

viewScope 只是一个变量,它是一个 Java 地图。您可以使用 viewScope.get("name of entry like compositeData.whatever") 方法来获取映射条目中存储的值。 (Jesse 的代码在不使用 get 的情况下做了同样的事情)。 https://docs.oracle.com/javase/8/docs/api/java/util/Map.html

但是,您可能需要确保它已在 beforePageLoad 中初始化?这可能就是您看到空值的原因。