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