Xml 是否可以使用EL语言在自定义控件中创建动态字段名?

Xml 是否可以使用EL语言在自定义控件中创建动态字段名?,xml,xpages,field,custom-controls,el,Xml,Xpages,Field,Custom Controls,El,我有一个带有很多字段的自定义控件,我想在同一个Xpage上多次包含此自定义控件,但我需要为我添加的每个自定义控件提供不同的字段名,并且由于有许多字段,我不想为所有字段创建属性定义 我使用所有类型的字段,包括RT,所以我想我需要使用EL语言进行绑定 有没有办法使字段名成为动态的?因此,字段将以我添加到属性定义中的内容作为后缀,即在第一个cc中,所有字段将以“_1”和第二个“_2”作为后缀,依此类推 下面只是一个自定义控件的示例 <?xml version="1.0" encoding="UT

我有一个带有很多字段的自定义控件,我想在同一个Xpage上多次包含此自定义控件,但我需要为我添加的每个自定义控件提供不同的字段名,并且由于有许多字段,我不想为所有字段创建属性定义

我使用所有类型的字段,包括RT,所以我想我需要使用EL语言进行绑定

有没有办法使字段名成为动态的?因此,字段将以我添加到属性定义中的内容作为后缀,即在第一个cc中,所有字段将以“_1”和第二个“_2”作为后缀,依此类推

下面只是一个自定义控件的示例

<?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core">

        <xp:panel>
            <xp:inputText id="inputText1" value="#{d.Fld1}"></xp:inputText>
            <xp:inputText id="inputText2" value="#{d.Fld2}"></xp:inputText>
            <xp:inputText id="inputText3" value="#{d.Fld3}"></xp:inputText>
        </xp:panel>
    </xp:view>

在第一次加载时,可以使用预处理器
${javascript:…}
替换自定义控件的代码部分

例如,一个表达式

value=“#{doc.${javascript:'Fld1"+compositeData.index}”
被替换为

value=“#{doc.Fld1_2}”
如果合成数据索引为“2”


以下是用于测试目的的工作示例:

自定义控件“ccFields”:


使用属性定义

主要XPage:


当您点击“保存”按钮时,它会创建一个新的文档,表单为“Test”,文本字段

  • Fld1_1
  • Fld1_2
  • Fld2_1
  • Fld2_2
和富文本字段

  • Fld3_1
  • Fld3_2

使用您输入的值。

我仍然无法在UI中看到richtext字段。奇怪。用这个例子创建一个新的数据库(这肯定有效),然后从那里开始。