Jsf 如何使用PostConstruct为addEntry设置列表
直到现在,我在getter上添加了我想在列表中包含的内容,这毫无意义,在添加新条目时,会导致数据库混乱 我的模型到现在为止:Jsf 如何使用PostConstruct为addEntry设置列表,jsf,annotations,postconstruct,Jsf,Annotations,Postconstruct,直到现在,我在getter上添加了我想在列表中包含的内容,这毫无意义,在添加新条目时,会导致数据库混乱 我的模型到现在为止: @Data @Entity public class Telefonbuch { /*@PostConstruct public void init() { //geschaeftsstellen = new ArrayList<String>(); geschaeftsstellen.add("Dortmund
@Data
@Entity
public class Telefonbuch {
/*@PostConstruct
public void init() {
//geschaeftsstellen = new ArrayList<String>();
geschaeftsstellen.add("Dortmund");
System.out.println("TEEEEEEEEEEEST");
geschaeftsstellen.add("Essen");
geschaeftsstellen.add("Stralsund");
geschaeftsstellen.add("Stuttgart");
geschaeftsstellen.add("Zürich");
geschaeftsstellen.add("Istanbul");
geschaeftsstellen.add("Köln");
geschaeftsstellen.add("Aachen");
geschaeftsstellen.add("Berlin");
}*/
public List<String> getGeschaeftsstellen() {
geschaeftsstellen = new ArrayList<String>();
geschaeftsstellen.add("Dortmund");
System.out.println("TEEEEEEEEEEEST");
geschaeftsstellen.add("Essen");
geschaeftsstellen.add("Stralsund");
geschaeftsstellen.add("Stuttgart");
geschaeftsstellen.add("Zürich");
geschaeftsstellen.add("Istanbul");
geschaeftsstellen.add("Köln");
geschaeftsstellen.add("Aachen");
geschaeftsstellen.add("Berlin");
//ArrayList<String> a = new ArrayList<String>();
//a.add("Test");
return geschaeftsstellen;
}
public void setGeschaeftsstellen(List<String> geschaeftsstellen) {
this.geschaeftsstellen = geschaeftsstellen;
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column
private String vorname;
@Column
private String nachname;
@Column
private String telefonnummer;
@Column
private String handynummer;
@Column
private String geschaeftsstelle;
@Column
@ElementCollection
private List<String> geschaeftsstellen;
我收到了您的问题,您要求提供一个列表,其中包含可用于selectOneRadio组件的选项,以及为什么
@PostConstruct
不起作用@PostConstruct
被JPA或其他持久性框架忽略-据我所知,它可用于CDI/托管bean
将其移动到您的TelefonbuchList
bean:
public class TelefonbuchListController {
@PostConstruct
public void init() {
geschaeftsstellen = new ArrayList<String>();
geschaeftsstellen.add("Dortmund");
geschaeftsstellen.add("Essen");
...
}
public List<String> getGeschaeftsstellen() {
return geschaeftsstellen;
}
}
公共类电话控制器{
@施工后
公共void init(){
geschaeftstellen=新数组列表();
添加(“多特蒙德”);
添加(“埃森”);
...
}
公共列表getgeschaeftstellen(){
返回Geschaeftststellen;
}
}
您可以使用此列表填写selectOneRadio组件选择项。类
Telefonbuch
是一个实体类,通过JPA或类似方式持久化@PostConstruct
是用于托管bean(不是实体类)上的初始值设定方法的注释。将init()
移动到您未提供源代码的telefonbuchList
bean。在getgeschaeftstellen()
中,仅返回由init()方法准备的列表。@Selaron您的意思是我在init中放入以下内容:list geschaeftstellen=new ArrayList();然后添加项目,然后Telefonbuch Telefonbuch=newtelefonbuch();然后是telefonbuch.setgeschaeftstellen(geschaeftstellen);它不会让我看到任何东西。我加上了我没有意识到的电话号码。这是错误的控制器。它只会是遥控器。我的名字不好。但它是有效的。非常感谢你!
public class TelefonbuchListController {
@PostConstruct
public void init() {
geschaeftsstellen = new ArrayList<String>();
geschaeftsstellen.add("Dortmund");
geschaeftsstellen.add("Essen");
...
}
public List<String> getGeschaeftsstellen() {
return geschaeftsstellen;
}
}