我需要你帮助用@Post Construct在bean中定义两个数组列表。我需要从数组列表中检索值并在2 selectmanycheckbox组件中显示它们。
代码是:
private String[] selectedA;
private List<String> A;
@PostConstruct
public void init() {
A = new ArrayList<String>();
A.add("A");
A.add("B");
}
private String[] selectedB;
private List<String> B;
@PostConstruct
public void initBB() {
B = new ArrayList<String>();
B.add("C");
B.add("D");
}
但是如果我使用上述方式会显示错误,那么请你帮忙
答案 0 :(得分:0)
我需要你帮助用@Post Construct在bean中定义两个数组列表。
如果我理解正确(类不完整),您有两个注释@PostConstruct
的方法。只允许一个,只有一个会导致某种错误。
因此,只使用一个@PostConstruct
方法,并初始化其中的两个数组:
private List<String> a;
private List<String> b;
@PostConstruct
public void init() {
a = new ArrayList<String>();
a.add("A");
a.add("B");
b = new ArrayList<String>();
b.add("C");
b.add("D");
}
可以找到@PostConstruct
的{{1}}的JavaDoc,它说:
此注释只能注释一种方法。
答案 1 :(得分:0)
如果使用两个@PostConstruct方法,则行为将无法预测。
参考:http://www.coderanch.com/t/428906/java-EJB-SCBCD/certification/PostConstruct-methods
试试这个:
private String[] selectedA;
private List<String> A;
private String[] selectedB;
private List<String> B;
@PostConstruct
public void init() {
A = new ArrayList<String>();
A.add("A");
A.add("B");
B = new ArrayList<String>();
B.add("C");
B.add("D");
}
或者,如果您需要两种方法来初始化数组:
private String[] selectedA;
private List<String> A;
private String[] selectedB;
private List<String> B;
@PostConstruct
public void init() {
A = new ArrayList<String>();
A.add("A");
A.add("B");
initBB();
}
public void initBB() {
B = new ArrayList<String>();
B.add("C");
B.add("D");
}