小编use*_*076的帖子

JSF 2.1查看每次刷新时重新创建的作用域托管bean

所以我有一个问题,我需要任何有关如何解决这个问题的信息.我们在JBoss 7.1上使用JSF 2.1,我们正在使用具有与该视图相关的表的视图范围bean.在该表中表示为行的对象非常大.

在每次刷新这些视图时,都会创建该bean的新实例.

为了验证这是否发生,我创建了一个演示示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
        <h:outputText value="#{viewScopedBean.i}" />
</h:body>
</html> 
Run Code Online (Sandbox Code Playgroud)

然后将此模板链接到如下定义的bean:

@ManagedBean
@ViewScoped
public class ViewScopedBean {


    private int i = 0;

    @PostConstruct
    public void init(){
        System.out.println("Init - " + i);
    }


    @PreDestroy
    public void dest(){
        System.out.println("Destroy - " + i);
    }

    public int getI() {
        return i;
    }

    public void setI(int i) {
        this.i = i;
    }
}
Run Code Online (Sandbox Code Playgroud)

每次我使用浏览器刷新按钮刷新视图或只需在浏览器地址字段中按Enter键,我就会清楚地看到@PostConstruct方法调用.

如果我让应用程序保持活动很长时间,我看不到任何 …

java jsf jsf-2

1
推荐指数
1
解决办法
7898
查看次数

标签 统计

java ×1

jsf ×1

jsf-2 ×1