【发布时间】:2015-07-13 09:02:12
【问题描述】:
我正在使用 Spring MVC 4,我正在尝试填充下拉菜单(选择选项),但找不到使其工作的方法(已经花费了几个小时)。
型号:
public class DataFixingModel {
private ArrayList<String> keys;
private String value;
private String keySelected;
public dataFixingModel() {
this.keys = getKeysValues(); //return ArrayList
this.value = "TMP";
this.keySelected = "abc";
}
....
public ArrayList<String> getKeys() {
return keys;
}
....
控制器:
public class DataFixing {
@RequestMapping(value = "/extra/dataFixing/dataFixing", method = RequestMethod.GET)
public String initCreationTask(ModelMap model) throws ParseException {
DataFixingModel dataFixingModel = new DataFixingModel();
ArrayList<String> urls = dataFixingModel.getKeys();
for (String str:urls){
System.out.println("------key:"+str);
}
//it print all the keys as expected
model.addAttribute("dataFixingModel", dataFixingModel);
return "extra/dataFixing/dataFixing";
}
}
jsp:
<form:form modelAttribute="dataFixingModel" method="POST" class="form-horizontal" cellspacing="2" enctype="multipart/form-data">
....
....
<div class="col-md-4">
<form:select class="form-control input-sm" path="keySelected" data-toggle="tooltip" data-placement="left" title="${title}">
<form:option value="0">--Choose Identifier Type--</form:option>
<form:options items="${keys}"/>
</form:select>
</div>
- “TMP”在“值”字段中显示良好。
- 在其他 model-controller-jsp 中,下拉列表由请求的键填充,但在上述 model-controller-jsp 中没有。
- 我已经尝试使用数组 ([]) 代替数组列表。
- 在视图源中,选项下没有键。
我做错了吗?
谢谢, 三木
【问题讨论】:
-
您在
DataFixingModel中拥有公开的getter属性? -
是的。所有的 getter/setter 都是公开的......
标签: java jsp spring-mvc model-view-controller