Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSF没有打印数字_Java_Jsf - Fatal编程技术网

Java JSF没有打印数字

Java JSF没有打印数字,java,jsf,Java,Jsf,我试图在我的页面中打印这些值下面的数字列表,但是这些值没有在我的jsf页面中打印,页面中的其余标记打印得很好,我在我的控制器类中查看了列表是否有元素,它的值为[1,2,3,4]我查看了视图源,但这些值在视图源中不可用。谁能告诉我我哪里做错了。谢谢 <h:dataTable value="#{pagination.pagesList}" var="page"> <h:outputText value="#{page}"></h:outputText> <

我试图在我的页面中打印这些值下面的数字列表,但是这些值没有在我的jsf页面中打印,页面中的其余标记打印得很好,我在我的控制器类中查看了列表是否有元素,它的值为[1,2,3,4]我查看了视图源,但这些值在视图源中不可用。谁能告诉我我哪里做错了。谢谢

<h:dataTable value="#{pagination.pagesList}" var="page">
  <h:outputText value="#{page}"></h:outputText>
</h:dataTable>

支持代码:

for (int i = 0; i < plth; i++) {
            pageInt[i] = ++pageno1;
            pagesList = Arrays.asList(pageInt);

        }
for(int i=0;i
在表格中添加一列:

<h:dataTable value="#{pagination.pagesList}" var="page">
  <h:column>
    <h:outputText value="#{page}"></h:outputText>
  </h:column>
</h:dataTable>

更新:


那么您有一个
列表
?这可能是问题所在,因为列表元素由整数索引处理。据我所知,
h:dataTable
的列表元素必须是bean。

除了缺少的
,正如Matt正确地提到的,这里还有另一个问题:

pagesList = Arrays.asList(pageInt)
这将创建一个
列表
,而不是
列表
。如果您已经正确地使用了(因此如果您确实使用了
List
而不是
List
List
),那么您应该已经被编译错误困在这个错误上了

当前列表中只有一项是
int[]
。当您将它作为JSF数据表中的一个项目打印出来时,它看起来像

[I@1234567
其中,
@
后面的部分是
int[]
对象实例的哈希代码

您的代码本身没有什么意义,因此很难给出合适的答案。我认为您犯了另一个错误,尝试将其转换为循环内的列表,而不是循环后的列表(因此列表每次都会被覆盖,直到它保存上一次迭代的转换列表为止)。这是不必要的

但是,要将
int[]
转换为
列表
,您需要在填写
pageInt
后再次循环:

for (int i = 0; i < plth; i++) {
    pageInt[i] = ++pageno1;
}

pagesList = new ArrayList<Integer>();

for (int page : pageInt) {
    pagesList.add(page);
}

谢谢你的回复,但是运气不好:-(你能添加你的支持bean的代码(至少是相关的部分吗)?for(inti=0;ipagesList = new ArrayList<Integer>(); for (int i = 0; i < plth; i++) { pagesList.add(++pageno1); }