2013-07-11 47 views
0

是否有可能寫轉換器可以將String[]轉換爲字符串?JSF selectManyCheckbox轉換器字符串

<p:selectManyCheckbox value="#{bean.numbers}" > 
    <f:selectItem itemValue="Number10" itemLabel="Number 10" /> 
    <f:selectItem itemValue="Number20" itemLabel="Number 20" /> 
    <f:selectItem itemValue="Number30" itemLabel="Number 30" /> 
    <f:converter converterId="arrayStringConverter"/> 
</p:selectManyCheckbox> 

我需要聲明#{bean.numbers}作爲字符串。我知道selectManyCheckbox需要數組或集合。

如何寫轉換器可以將數組轉換爲分隔字符串?我嘗試過使用f:converter,但每調用f:selectItem都要調用它,但不是整個組件的值。

+2

你在哪裏需要一個價值更高?只需將其保存爲集合並在需要時將其轉換爲字符串即可。 –

回答

0

JSF轉換器重複應用於每個單獨的項目,而不是像您期望的那樣整個集合/數組上。所以,不,這是不可能的。如果您絕對需要像這樣對模型進行修改,那麼只需在業務層中執行轉換作業。

(如果我猜的沒錯你實際上要做的,存儲在一個單一的數據庫列逗號分隔的多個值,開始閱讀有關數據庫規範化,外鍵關係和聯接)