给出以下Java类A:
public class A {
private String s1;
private String s2;
/// getters and setters
}
我想将它用作JSF Bean的成员:
@ManagedBean
public class Bean {
private A a;
public A getA () {
return a;
}
public void setA(A a) {
this.a = a;
}
}
能够在.xhtml中以下列方式使用它:
<h:inputText id="s1" value="#{bean.a.s1}" />
<h:inputText id="s2" value="#{bean.a.s2}" />
这对我没用,有可能吗?否则我将不得不在Bean类中声明A的每个成员。
答案 0 :(得分:2)
在你的managedbean中应该是像Leo所说的初始对象。
替代方案,通过构造函数
初始化对象@ManagedBean
public class Bean {
private A a;
public Bean(){
a = new A();
}
public A getA () {
return a;
}
public void setA(A a) {
this.a = a;
}
}
或postConstruct
@ManagedBean
public class Bean {
private A a;
@PostConstruct
public void init() {
a = new A();
}
public A getA () {
return a;
}
public void setA(A a) {
this.a = a;
}
}