如何在重复控件中为Rich Text控件上传图像以使其正常工作

时间:2012-03-30 18:35:41

标签: xpages

将8.5.3 UP1与Hotfix一起用于多富文本控制问题。

我动态绑定包含在重复控件中的自定义控件中的富文本控件。除了图像上载功能不起作用外,富文本控件呈现得很好。如果我点击图片上传,选择一个文件,然后点击发送到服务器,图像显然永远不会在那里。

这是我的代码:

重复控制:

<xp:repeat id="rptSections" rows="99" repeatControls="false"
    var="sections" indexVar="rptIndex" value="#{javascript:2}">
    <xc:ccDynamicSections_2 rptIndex="#{javascript:rptIndex}">
        <xc:this.fieldName><![CDATA[#{javascript:"contentRT"+rptIndex}]]></xc:this.fieldName>
    </xc:ccDynamicSections_2>       
</xp:repeat>

自定义控件:

<xp:inputRichText id="inputRichText1" value="#{document1[compositeData.fieldName]}" >   
</xp:inputRichText>

我很确定如果我能找到一种在运行时绑定富文本控件的方法,我可以使其工作。我试图这样做,它似乎在页面上工作,但当我去保存文档时,我收到一个错误,如“无法保存文档NEW_79 NotesException:对象已被删除或回收”

尝试页面加载后绑定:

<xp:repeat id="rptSections" rows="99" repeatControls="false"
    var="sections" indexVar="rptIndex" value="#{javascript:2}">

    <xp:text escape="true" id="computedField1">
        <xp:this.value><![CDATA[#{javascript:var application = facesContext.getApplication();var scopedField = 'content'+rptIndex;var valueBinding = application.createValueBinding( '#{document1.' + scopedField + '}');getComponent("inputRichText1").setValueBinding('value', valueBinding );"test"+rptIndex}]]></xp:this.value>
    </xp:text>

    <xp:inputRichText id="inputRichText1"></xp:inputRichText>
</xp:repeat>

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我认为你应该将repeatControls设置为true。否则它将无法正确绑定到您的数据源。另见this page