【发布时间】:2014-05-21 15:44:24
【问题描述】:
我正在使用 Wicket 生成一个表单,以允许用户为多个模型对象设置值。每个模型对象都有两个字段,operNam 和 slaNam。 operNam 值的列表取自参数字符串 operationNames,我将这个以空格分隔的列表拆分如下所示,并将每个值放入一个名为 myListResult 的 ArrayList 中。
String result = parameters.getString("operationNames");
//split list
ArrayList<String> myListResult = new ArrayList<String>(Arrays.asList(result.split(" ")));
for (String word : myListResult) {
System.out.println("===>" + word);
}
我想做的是为用户创建一个表单,其中myListResult 中的每个条目有两个元素。我添加了一个TextField,其中包含myListResult 中每个操作名称的值和一个空的TextField,以允许用户输入slaNam 的值。我目前用于执行此操作的代码如下:
for(String operation : myListResult) {
form.add(new TextField<String>("operNam" , new PropertyModel<String>(operation, "operNam")));
form.add(slaNam);
}
add(form);
我遇到的问题是,上面的代码为myListResult 中的每个项目添加了id 的id 值operNam,并且由于重复的id 元素在html。我也试过这样做:
for(String operation : myListResult) {
form.add(new TextField<String>(operation , new PropertyModel<String>(operation, "operNam")));
form.add(slaNam);
}
add(form);
这避免了重复 id 元素的问题,但会导致一个问题,因为现在我的表单元素没有映射到我的模型对象,该对象需要一个名为 operNam 的字段和另一个名为 slaNam 的字段。
我的问题是
如何在不使用重复元素id 名称的情况下创建代表任意数量模型的表单元素。
如果我在myListResult 中有 4 个项目,我希望 html 的外观如下图所示:
【问题讨论】:
标签: arrays hibernate model-view-controller wicket