我试图有两个<c:foreach>
,其中一个是显示不同的日子,每天有8行,有3个不同的输入框。
这是代码
<h:form>
<c:forEach begin="0" end="#{treningNovi.dana-1}" varStatus="loop">
<c:forEach varStatus="j" begin="0" end="7">
<h:inputText id="set" value="#{treningNovi.set[j.index+(loop.index*8)]}"/>
</c:forEach>
</c:forEach>
<h:commandButton value="Spremi"
action="#{treningNovi.SpremiVjezbe}"
styleClass="btn btn-primary" />
</h:form>
第一个foreach
代表天,第二个foreach
代表inputText字段。
这是我的bean类
@ManagedBean(name="treningNovi")
public class TreningNovi {
private List<Integer> set;
@PostConstruct
public void initList() {
set = new ArrayList<Integer>();
}
public String SpremiVjezbe() {
System.out.println(set);
return "index";
}
public List<Integer> getSet() {
return set;
}
}
由于某种原因,它不会在列表中正确保存元素,并且在按下Spremi按钮后列表为空。谁知道解决方案?谢谢
注意:我尝试使用j.index和数字代替j.index +(loop.index * 8),但它们似乎都没有用,所以索引不是问题
同样列表有List<Integer> set
但代码没有正确格式化,我不知道如何解决它
答案 0 :(得分:0)
使用-n
中的值初始化列表,它应该有效。现在它正在尝试向不存在的元素插入值(如set [5],但列表大小为0,因此无法完成)。