我会用托管 Bean 做一些事情,但我没有找到解决方案 为了解释我将做什么,我将展示一个小例子:
我创建了一个具有以下结构的对象数据
public class Data implements Serializable{
private static final long serialVersionUID = 5156829783321214340L;
String value="";
public Data() {
}
public String getValue() {
return value;
}
void setValue(String data) {
this. value = data;
}
}
如您所见,现在是一个具有一个属性的简单数据持有者,我创建了一个第二个对象,它将成为我的 bean,它仅包含一个数据对象列表
public class Databean implements Serializable{
private static final long serialVersionUID = 9205700558419738494L;
private ArrayList<Data> datalist;
public Databean()
{
datalist = new ArrayList<Data>();
Data newItem;
for (int i=0; i<5; i++) {
newItem = new Data();
datalist.add(newItem);
}
}
public ArrayList<Data> getDatalist() {
return datalist;
}
public void setDatalist(ArrayList<Data> datalist) {
this.datalist = datalist;
}
}
在 Faces-config 中声明发布 bean 没问题
<managed-bean>
<managed-bean-name>managedBean</managed-bean-name>
<managed-bean-class>de.itwu.Databean</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
</managed-bean>
所以现在我的问题是:我想创建一个托管属性或其他东西来连接到输入文本
在重复控制中,例如:
<xp:repeat value="#{managedBean.datalist}" var="rowData">
<xp:inputText id="inputText1" defaultValue="#{rowData.value}"></xp:inputText>
</xp:repeat>
有没有人知道这如何工作?
因此,示例已更正,但在显示的数据对象中设置 Datualt 值时它不起作用。但是当我编辑 Inputtextfields 中的值时,它们不会自动写回对象。我认为问题在于 Faces-Config 中的 Daclaration。想法?