0

我的支持 bean 中有一个列表。我想把它放在一张桌子上。我希望表格有两行 - 左侧,列表中的值,右侧输入框。这是容易的部分。这是我的代码:

<div class="table">
                <h:dataTable id="korekty" styleClass="table table-hover"
                value="#{searchBean.listX}" var="v">
                    <h:column>
                        <f:facet name="header">XXX</f:facet>
                        #{v.string}
                    </h:column>
                    <h:column>
                        <f:facet name="header">YYY</f:facet>
                        <h:inputText styleClass="form-control">
                        </h:inputText>
                    </h:column>
                </h:dataTable>
            </div>

我的问题的难点是:在那些 inputtext 用户可能会输入一些数字。然后在点击提交按钮后,我想创建一个列表/地图/输入值的任何内容。我怎样才能做到这一点?感谢帮助

4

1 回答 1

2

首先,准备一个数组或列表,其中包含给定数据的占位符以及您获得的列表:

List<String> initialData = ...;//initial data of n size
String[] submittedData = new String[initialData.size()];//array of the same size

然后,将<h:dataTable>组件绑定到视图以访问迭代的当前行索引。这样,您可以通过将输入元素的值绑定到数组/列表中的相应对象来完成您的工作:

<h:dataTable binding="#{table}" ... >
    <h:column>
        <f:facet name="header">YYY</f:facet>
        <h:inputText value="#{searchBean.submittedData[table.rowIndex]}" ... />
    </h:column>
</h:dataTable>
于 2013-10-09T13:42:59.400 回答