【问题标题】:h:inputText inside c:forEach not saving elements in Listc:forEach 中的 h:inputText 不保存 List 中的元素
【发布时间】:2015-12-02 07:23:26
【问题描述】:

我试图有两个<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 和 numbers 代替 j.index+(loop.index*8) 但它们似乎都不起作用,所以索引不是问题

还列出了List&lt;Integer&gt; set,但代码格式不正确,我不知道如何修复它

【问题讨论】:

    标签: jsf foreach jstl


    【解决方案1】:

    使用@PostConstruct 中的值初始化列表,它应该可以工作。现在它正在尝试向不存在的元素插入值(如 set[5],但列表大小为 0,因此无法完成)。

    【讨论】:

      猜你喜欢
      • 2015-10-25
      • 2011-01-10
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      相关资源
      最近更新 更多