我想使用 JSF2 在 xhtml 页面上的表格中显示二维浮点数组,但我不知道该怎么做。我试图在谷歌中找到答案,但我找不到。所有示例都显示类对象,我无法使其与表格一起使用。
位置是:我有一些大小的数组 - 数组的大小取决于输入的数据:float [][] variables = new float[size1][size2]
用户输入数据并按下按钮后,在托管 bean 中调用一个方法。计算开始,表格中填满了数据。
请告诉我如何显示数组。
我想使用 JSF2 在 xhtml 页面上的表格中显示二维浮点数组,但我不知道该怎么做。我试图在谷歌中找到答案,但我找不到。所有示例都显示类对象,我无法使其与表格一起使用。
位置是:我有一些大小的数组 - 数组的大小取决于输入的数据:float [][] variables = new float[size1][size2]
用户输入数据并按下按钮后,在托管 bean 中调用一个方法。计算开始,表格中填满了数据。
请告诉我如何显示数组。
为此,您可以使用c:forEach
标签动态地构建一个h:panelGrid
. 只需保存size2
,即作为属性的列号,并将所有输入的数字存储在一个 normaljava.util.List
中。然后将该大小设置为h:panelGrid
columns
属性,组件将为您拆分行。您还可以为c:forEach
标签内的内容设置样式,为其设置边框以使其具有表格行为。
<h:form>
<h:panelGrid columns="#{bean.numberCount}">
<c:forEach var="num" items="#{bean.numberList}">
#{number}
</c:forEach>
</h:panelGrid>
</h:form>
已编辑
如果您想保持原始结构但在 List 中,您可以创建一个List<List<Float>>
. 这意味着由包含浮动对象的列表组成的列表。与二维数组相同。
private List<List<Float>> _Matrix;
public List<List<Float>> get_Matrix() {
return this._Matrix;
}
/**
* Constructor for BackingBean.
*/
public BackingBean() {
this._Matrix = new ArrayList<List<Float>>();
this._Matrix.add(new ArrayList<Float>());
this._Matrix.add(new ArrayList<Float>());
this._Matrix.get(0).add(1.0f);
this._Matrix.get(0).add(2.0f);
this._Matrix.get(0).add(3.0f);
this._Matrix.get(1).add(1.0f);
this._Matrix.get(1).add(2.0f);
this._Matrix.get(1).add(3.0f);
}
在上面的代码中,我正在构造一个等效于具有 2 行和 values 的二维数组1.0
,2.0
并且3.0
在每一行上。您可以使用此代码在视图上对其进行迭代:
<h:panelGrid columns="#{backingBean._ColumnNumber}">
<c:forEach var="row" items="#{backingBean._Matrix}">
<c:forEach var="value" items="#{row}">
#{value}
</c:forEach>
</c:forEach>
</h:panelGrid>
#{backingBean._ColumnNumber}
List 的第一个数组的长度在哪里(假设它们都具有相同的长度)。
祝你好运。