2015-06-01 28 views
1

我有一個HashMap(sessionScope),其中包含guest和他們的UNIDs的名稱。XPages複選框組 - 綁定到散列圖

例如,在下面的散列圖中,Carmen Adamson是關鍵。客艙的價值是:卡門亞當森和斯蒂芬亞當森。每個複選框字段的別名是Guest UNID,值由「〜」分隔。

CARMEN ADAMSON STEPHEN ADAMSON | 1C145A291A5DFEC188257E200071402E〜CARMEN ADAMSON | 813B80C332EC192188257E2000714030

有人可以幫助我一些示例代碼,關於如何將複選框組字段直接綁定到散列表?

非常感謝,

回答

1

我能弄明白:

<xp:checkBoxGroup id="checkBoxGroup1"> 
<xp:selectItems> 
<xp:this.value><![CDATA[#{javascript:var iterator:java.util.Iterator =  sessionScope.guestlistArray.entrySet().iterator(); 
while (iterator.hasNext()) { 
var entry = iterator.next(); 
var guestlist = entry.getValue(); 
} 
@Explode(guestlist,"~");}]]></xp:this.value> 
</xp:selectItems> 
</xp:checkBoxGroup> 
0

丹,你當然可以這樣做,但必須使用Java來完成它。您可以編寫一個方法來傳遞hashmap並返回SelectItem對象與數據和標籤。我可能是錯的,但我不認爲這可以通過SSJS完成。

看到這個相關的問題有一個來自Mark Leusink的出色答案,幷包含一個代碼示例。

Populating selectItems of the combobox (label, value) using a managed bean

這個例子是從我的博客,讓在使用Java創建一個SelectItems更多細節。我的例子是一個ComboBox,但複選框也使用SelectItem。上面的問題是我寫作的基礎。

http://notesspeak.blogspot.com/2015/05/using-db2-in-xpages-part-6-populating.html

+0

謝謝你,史蒂夫!我希望不必停下Java路線。但是,如果這是實現這一目標的唯一方法。 –

+0

歡迎丹。一旦你去了java,你永遠不會回頭;) –

+1

Steve,現在我已經在SSJS中工作了,我會嘗試找一些時間來調查Java選項。 –