我需要预加载页面加载时要显示的一些数据。初始化步骤是在@ PostConstruct-annotated方法上执行的,但现在我需要使用参数来获取数据。
我正在尝试做什么:
@PostConstruct
public void init()
{
List data = getDataFromDB(parameter) /*Need to read a parameter created somewhere else*/
}
有没有办法实现这个目标?
提前致谢
答案 0 :(得分:1)
很难用“其他地方的参数集”来表达你的意思。我将假设“其他地方”的意思是“通过HTTP从浏览器发送”。在这种情况下,您应该在托管bean中创建一个标准属性:
像这样:
@ManagedBean
@RequestScoped
class MyManagedBean {
@ManagedProperty("#{param.id}")
public Integer id;
@PostConstruct
public void init(){
data = getDataFromDB(id)
}
// setters and getters (mandatory, even though annotation is on an attribute!!!)
}
注意:注入属性不使用JSF转换器,因此最好在自己的代码中注入字符串并进行转换。
答案 1 :(得分:0)
如何从Properties
文件中读取,或从DB中获取List
?