Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
jsf用嵌套的ui:repeat替换c:forEach会释放值-null_Jsf - Fatal编程技术网

jsf用嵌套的ui:repeat替换c:forEach会释放值-null

jsf用嵌套的ui:repeat替换c:forEach会释放值-null,jsf,Jsf,我有以下嵌套ui:repeat。 以前,外部循环使用的是一个c:forEach,它按预期工作 现在,我想将其用于omnifacesof:createIntegerArray(1,7)或将其用于omnifaces函数,但该函数不起作用 public static final int[] INTEGER_ARRAY = new int[]{1, 2, 3, 4, 5, 6, 7}; public List<String> getValues(int i); <ui:repeat

我有以下嵌套ui:repeat。 以前,外部循环使用的是一个c:forEach,它按预期工作

现在,我想将其用于omnifaces
of:createIntegerArray(1,7)
或将其用于omnifaces
函数,但该函数不起作用

public static final int[] INTEGER_ARRAY = new int[]{1, 2, 3, 4, 5, 6, 7};
public List<String> getValues(int i);

<ui:repeat var="i" value="#{Bean.INTEGER_ARRAY}">
    #{i}
    <ui:repeat var="value" value="#{bean.getValues(i)}">
        #{value}
    </ui:repeat>
</ui:repeat>
publicstaticfinalint[]INTEGER_数组=新的int[]{1,2,3,4,5,6,7};
公共列表getValues(inti);
#{i}
#{value}

bean方法中的参数
i
始终为0或null,但在jsf视图中打印正确。

bean方法被调用的次数太多,这是正常行为,请阅读并查看其中的链接。Mojarra版本是什么?无法在2.1.17中复制。事实上,getter方法调用非常便宜。因此,如果您只是返回属性,就没有什么可担心的了。它只是一个参数化的getter@LuiggiMendoza作为
c:forEach
的标记处理程序也可以负责我试图避免的视图bean重新创建@出于测试目的,BalusC I今天更新为2.1.18,但仍然是一样的。@djmj和将是一样的,因为在幕后getter将被多次调用,知道这一点,您永远不应该在JSF和CDI托管bean的getter/setter方法中编写业务逻辑。没有业务逻辑。只是想尽可能多地删除标记处理程序。