Xpages Xpage控件显示只读模式,即使该模式为false

Xpages Xpage控件显示只读模式,即使该模式为false,xpages,Xpages,下面是片段 <xp:repeat id="agendaRepeat" rows="30" var="agenda" indexVar="agendaIndex"> <xp:this.value><![CDATA[#{javascript:var r = document1.getItemValue("AgendaHeading"); return (typeof r == 'string') ? [r] : r;}]]></xp:thi

下面是片段

<xp:repeat id="agendaRepeat" rows="30" var="agenda" indexVar="agendaIndex">

        <xp:this.value><![CDATA[#{javascript:var r = document1.getItemValue("AgendaHeading");
return (typeof r == 'string') ? [r] : r;}]]></xp:this.value>
        <xp:inputHidden id="agendaGuideReferenceHiddenRepeat" />


                <xp:inputText id="agendaGuideHeaderInput"
                    styleClass="agendaGuideHeaderInput" value="#{agenda}">

<!-- inputTextarea1 DOES NOT WORK -->               
                        <xp:inputTextarea id="inputTextarea1"
                            styleClass="agendaGuideSubtextInput"
                            value="#{javascript:document1.getItemValue('AgendaText').get(agendaIndex)}"
                            readonly="false">

                        </xp:inputTextarea>

</xp:repeat>
然后它显示很好,因为它在repeat控件中,所以我无法执行此操作,因为它一直向我显示异常:

Error getting property '0' from bean of type java.lang.String
因为字段中必须至少有2项才能显示。。。我正在使用多值字段

那么,如果我选择第一个选项,为什么它不会显示为可编辑字段呢。
我将非常感谢

就像Toby在评论中提到的那样,当您使用SSJS作为输入字段的值时,输入字段是永远不可编辑的。你必须使用表达语言

使用表达式语言时,如果项为空或只有一个值,则无法使用索引对其进行寻址

为了避免上述错误并具有可编辑字段,您可以在repeat中放置两个InputExtArea,一个绑定到“document1.AgendaText[agendaIndex]”,另一个绑定到“document1.AgendaText”。然后,可以使用呈现属性使用相应的inputTextareas,具体取决于它是多值项还是单值项(请参见下面的示例代码)

示例代码:

<xp:inputTextarea id="inputTextarea_multiValue" styleClass="agendaGuideSubtextInput" readonly="false">
    <xp:this.rendered><![CDATA[#{javascript:@Elements( document1.getItemValue('AgendaText') ) > 1;}]]></xp:this.rendered>
    <xp:this.value><![CDATA[#{document1.AgendaText[agendaIndex]}]]></xp:this.value>
</xp:inputTextarea>

<xp:inputTextarea id="inputTextarea_singleValue" value="#{document1.AgendaText}" styleClass="agendaGuideSubtextInput" readonly="false">
    <xp:this.rendered><![CDATA[#{javascript:@Elements( document1.getItemValue('AgendaText') ) <= 1;}]]></xp:this.rendered>
</xp:inputTextarea>

1;}]]>

能否将repeat控件也添加到代码段中。只有EL可以进行输入绑定,而SSJS不能。您是否使用“重复”来重复项目?只是添加了更多的代码片段。。是的,它是重复的,至少它不应该将只读属性设置为true???
<xp:inputTextarea id="inputTextarea_multiValue" styleClass="agendaGuideSubtextInput" readonly="false">
    <xp:this.rendered><![CDATA[#{javascript:@Elements( document1.getItemValue('AgendaText') ) > 1;}]]></xp:this.rendered>
    <xp:this.value><![CDATA[#{document1.AgendaText[agendaIndex]}]]></xp:this.value>
</xp:inputTextarea>

<xp:inputTextarea id="inputTextarea_singleValue" value="#{document1.AgendaText}" styleClass="agendaGuideSubtextInput" readonly="false">
    <xp:this.rendered><![CDATA[#{javascript:@Elements( document1.getItemValue('AgendaText') ) <= 1;}]]></xp:this.rendered>
</xp:inputTextarea>