我正在尝试获取UIRepeat的子元素,我希望它包含所有迭代的内容。但是,我只能看到一次迭代的内容。
我想我必须遍历com.sun.faces.facelets.component.UIRepeat对象,但是该怎么做呢?我看到有一个getSize()函数,但setIndex()是private,DataModel包含的是对象,而不是元素。
此外,我在参考文档http://download.oracle.com/docs/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/ui/repeat.html中也找不到com.sun.faces.facelets.component.UIRepeat类。
主要问题是,我一直在使用<ui:repeat>迭代显示<h:selectOneRadio>元素;我想更改托管bean中的<h:selectOneRadio>元素的值。
先谢谢你,大牛
发布于 2010-12-16 09:58:27
我想要更改托管bean中的
<h:selectOneRadio>元素的值。
只需从托管bean内部直接访问其value属性即可。
假设
<ui:repeat value="#{bean.radios}" var="radio">
<h:selectOneRadio value="#{radio.selected}">
<f:selectItems value="#{radio.selectItems}" />
</h:selectOneRadio>
<ui:repeat>只管去做
radios.get(index).setSelected(newValue);发布于 2010-12-16 06:46:55
我现在不知道您的代码或需求,但您可以尝试c:forEach,而不是重复。后者在另一个呈现阶段工作: forEach重复forEach块内的html内容,而repeat实际上重复xhtml内容(然后呈现)。
https://stackoverflow.com/questions/4454532
复制相似问题