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