managedBean 初始化 问题请教

maxwell 2009-09-15
页面要显示所有的学生列表。 不是点击按钮响应动作以后显示, 而是刚进页面就显示。

这样大家一般是怎么实现的?

下面只是列出大概, 是在构造函数里面调用service的方法找到学生列表,还是有什么其他方法??? 

public class StudentBean {
  private List<Student> studentList;
  public StudentBean() {
      studentList = studentService.getStudent();
  }
}


高手请赐教,

huliqing 2009-09-16
在get方法中找到学生列表
在另一个bean中传递到这一个bean

不过我认为还是在构造方法中较好
cyberblue 2009-09-16
@PostConstruct
maxwell 2009-09-16
放在构造方法里也有问题啊,  如果你使用spring 的注入, 而且在初始化页面时要用注入的service去查询。 那怎么办? 这时候注入的service是空的。
huliqing 2009-09-16
我们开发过JSF,spring,facelets,jpa,annotation方式的组合。
在构造函数里的service的注入不是问题,只不过你要告诉spring正确的注入方式而已。
你是不是在构造函数中出现了service的NullPointerException?
xht314 2009-09-17
如果你的managedBean的生命周期是request的话,应该在构造函数里面调用service的方法找到学生列表, 至于在构造方法中无法得到spring中定义的service,你可以通过根据spring中的BEAN名称来获取service对象,不一定非要用注入方法.
terryzhou 2009-09-17
1.利用bean的构造函数,spring的Bean用annotation引用
2.利用页面
<body onload="refresh();" >
<a4j:jsFunction name="refresh" ajaxSingle="true" actionListener="#{}" immediate="true" reRender="tablePanel" />
</body>
maxwell 2009-09-21
huliqing 写道
我们开发过JSF,spring,facelets,jpa,annotation方式的组合。
在构造函数里的service的注入不是问题,只不过你要告诉spring正确的注入方式而已。
你是不是在构造函数中出现了service的NullPointerException?




是的  遇到了, 那怎么解决呢?
terryzhou 2009-09-21
maxwell 写道
huliqing 写道
我们开发过JSF,spring,facelets,jpa,annotation方式的组合。
在构造函数里的service的注入不是问题,只不过你要告诉spring正确的注入方式而已。
你是不是在构造函数中出现了service的NullPointerException?




是的  遇到了, 那怎么解决呢?


贴代码和faces-config
pute 2009-09-21
我一般是

private HtmlDataTable list = null;


public HtmlDataTable getList(){
   //测试判断list是否存在
   if(list==null)load();
   return list;
}


private void load(){
   this.list=执行list的构建...;
}
Global site tag (gtag.js) - Google Analytics