【问题标题】:Can't populate dropdown menu (options)无法填充下拉菜单(选项)
【发布时间】: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>
  1. “TMP”在“值”字段中显示良好。
  2. 在其他 model-controller-jsp 中,下拉列表由请求的键填充,但在上述 model-controller-jsp 中没有。
  3. 我已经尝试使用数组 ([]) 代替数组列表。
  4. 在视图源中,选项下没有键。

我做错了吗?

谢谢, 三木

【问题讨论】:

  • 您在DataFixingModel 中拥有公开的getter 属性?
  • 是的。所有的 getter/setter 都是公开的......

标签: java jsp spring-mvc model-view-controller


【解决方案1】:

如果你有这个吸气剂:

public ArrayList<String> getOpenUrlKeys() {
    return openUrlKeys;
}

你会得到&lt;form:options items="${openUrlKeys}"/&gt;的内容

但是没有多大意义,因为我看不到 openUrlKeys 变量声明...应该是getKeys() 使用&lt;form:options items="${keys}"/&gt;

【讨论】:

  • 对不起,getter是:getKeys带参数keys。
【解决方案2】:

我找到了解决办法:

我替换了:&lt;form:options items="${keys}"/&gt; 与:&lt;form:options items="${dataFixingModel.keys}"/&gt;.

谢谢大家! 迈克

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 2023-03-31
    • 2014-01-04
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    相关资源
    最近更新 更多