按钮上bean中的实例变量增量单击JSF 2.2

Instance variable increment in bean on button click JSF 2.2

我的 xhtml 文件有一个命令按钮:-

<h:commandButton id="routeAddButton" action="#{routeStatic.add_new_route}" value="Add New Route" />

我正在尝试使用布尔数组控制 panelGrids 的可见性。

<h:panelGrid id="route1Grid" columns="2" rendered="#{routeStatic.rendered[0]}" >

同样

<h:panelGrid id="route2Grid" columns="2" rendered="#{routeStatic.rendered[1]}" >

等等。

在每次单击按钮时,我试图增加一个循环迭代器(它是一个实例变量)并连续将 panelGrid 设置为可见。

实例变量是private int number_of_routes;

Instance 变量在构造函数中被初始化为 0。

现在在我的 JSF Bean 中,我有一个方法 add_new_route(),我想在其中执行此操作:

    System.out.println(this.number_of_routes);
    this.rendered[this.number_of_routes]=true;
    this.number_of_routes++;

但是在我的日志中,我反复将值设为 0。我知道原始类型是作为引用传递的。所以我决定使用单例数组。还是不行。大家有什么想法吗?

您的 bean 请求是否有作用域?在这种情况下,每次点击后都会再次创建变量