2013-10-04 47 views
0

我在我的項目中有jsf/primeface表單組件。還有db表,它描述哪個字段應該是必需的或隱藏的。此表由另一個系統使用(與java不相關),所以我的項目也應該使用該db表。JSF必需和隱藏字段從db

問題是那些字段和它的ID被描述爲數字在數據庫中,並在我的項目jsf/primefaces組件具有人類可讀的ID。例如,「名稱」中的數據庫表字段具有ID = 1,需要= 0,隱藏= 1和XHTML我:

<p:inputtext id="idName" required="false" rendered="true"...>

有沒有辦法讓我可以輕鬆地映射idName組件數據庫入門但不改變數據庫表結構?

+0

也許你需要的是使用'Converter'。 – SJuan76

回答

2

只需創建表示場地的實體:

public class Field { 

    private Long id; 
    private boolean required; 
    private boolean hidden; 

    // ... 
} 

和按如下方式使用它在您的觀點:

<p:inputText value="#{bean.values[field.id]}" required="#{field.required}" rendered="#{not field.hidden}" /> 

藉此#{bean.values}是指一個Map<Long, Object>

+0

我有超過200種這樣的字段,它們都有不同的綁定對象值。例如一個有''另一個有''。我應該在最初的建議地圖中添加全部內容嗎? – Nikola

+0

你在DB中還有字段/屬性名稱?即有可能有一個'公共類字段{私人字符串名稱; }'?如果是這樣,則使用例如'#{newComplaintMB [field.name]}'''''{field.name}''例如返回'accruement'。 – BalusC

+0

通過這種方法,我可以使用'#{newComplaintMB [field.name]}'''{field.name}'返回'complaint.rmnr'(屬性值的屬性值)嗎? – Nikola