无法填充下拉菜单(选项)
问题描述:
我正在使用弹簧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中填充。
- 我已经尝试使用array([])而不是arraylist)。
- 在查看源中,选项下没有键。
我做错了什么?
感谢, 三木
答
如果你有这样的getter:
public ArrayList<String> getOpenUrlKeys() {
return openUrlKeys;
}
您将得到<form:options items="${openUrlKeys}"/>
内容,但并没有多大意义,因为我看不到openUrlKeys变量宣布...它应该是getKeys()
使用<form:options items="${keys}"/>
+0
对不起,getter是:getKeys与参数键。 – Mike
答
我发现解决方案:
我更换了:<form:options items="${keys}"/>
与:<form:options items="${dataFixingModel.keys}"/>
。
谢谢大家! Mike
你在'DataFixingModel'中拥有公共'getter'属性? –
是的。所有的获取者/设置者都是公开的... – Mike