いつものように、Tim の答えは、長期的な健全性、健全性、およびコードの保守性に対する最善の策です。
また、すべてのバックエンド ロジックに Java を使い始める前に、私が過去に取った別のルートもあります。HashMap を含む page-load-bound dataContext を作成し、各チェックボックスをそれにバインドできます。キーごとに true または false が入力されるため、マップ エントリをループして true のものを見つけることができます。チェックされた値です。
名前データベースからリストを取得して、私が何を意味するかを示す簡単な例をまとめました。
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
<xp:dominoView var="names" databaseName="names.nsf" viewName="$NamesFieldLookup"/>
</xp:this.data>
<xp:this.dataContexts>
<xp:dataContext var="checkedNames" value="${javascript: new java.util.HashMap() }"/>
</xp:this.dataContexts>
<xp:div id="refresher">
<xp:repeat value="#{names}" var="name" rows="3">
<xp:this.facets>
<xp:pager xp:key="header" id="pager1" layout="Previous Group Next" />
</xp:this.facets>
<div>
<xp:checkBox value="#{checkedNames[name.$9]}">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="refresher"/>
</xp:checkBox>
<xp:text value="#{name.$9}"/>
</div>
</xp:repeat>
<p><xp:text value="#{checkedNames}"/></p>
</xp:div>
</xp:view>