0
我有一個編輯屏幕,顯示一系列實體的可編輯屬性(字段)。這個字段列表是動態的,因爲任何字段都可以在沒有任何代碼更改的情況下從列表中添加/刪除。我有一個這樣的模型。使用JSF綁定動態屬性
public class Property{
private String displayName;
private String value;
private int displayOrder;
//other props,getters,setters etc..
}
我的backingBean具有這些屬性的地圖(出於其他一些原因,我們選擇map作爲數據結構)。
public class BackingBean{
private Map<String,Property> editableProps;
//other props,getters,setters etc..
}
問題在於迭代此映射併爲每個條目生成一個文本框。由於A4J:重複(RichFaces的)不遍歷一個圖,我已經決定使用JSTL和代碼片段看起來是這樣的,
<c:forEach items="${mybean.editableProps}"
var="item" >
<tr>
<td>
<c:out value="${item.value.displayName}"/>
</td>
<td>
<input type="text" value="${item.value.value}" />
</td>
</tr>
</c:forEach>
這將正常工作除了事實的,綁定ui字段到bean的屬性不會自動發生。如果我嘗試使用h:inputText在之內c:forEach,組件不會呈現(猜測jstl var不適用於jsf)。 有沒有JSF的方式做這一切(使用散列圖)?所以一個文本框是爲地圖中的每個條目生成的,並且它的任何改變都被綁定到底層的java bean屬性。
9個月後,我有完全一樣的問題。你有沒有解決它? – 2011-06-28 07:27:44
不,只是以非jsf方式實現它。 – chedine 2011-07-21 09:08:17