Spring MVC下拉框 [英] Spring MVC dropdown box

查看:90
本文介绍了Spring MVC下拉框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直试图找出如何在Spring MVC中创建一个下拉框. 这是我的控制器:

I have been trying to find out how to create a dropdown box in Spring MVC. Here is my controller:

@ResourceMapping(value = "availableDataVis")
public String getAvailableDataVis(Model model,
                            @RequestParam("widgetId") String widgetId) {
    HashMap<String,Map<String,String>> hashMapOfDataVis = new HashMap<String,Map<String,String>>();

    Map<String,String> m = new LinkedHashMap<String,String>();
    m.put("pie", "Pie Chart");
    m.put("categorizedVertical", "Column Chart");
    hashMapOfDataVis.put("m", m);

    if (hashMapOfDataVis.containsKey(widgetId))
    {
        model.addAttribute("dataVisArray", hashMapOfDataVis.get(widgetId));
    }

    return "selDataVisComboBox";
}

这是jsp页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<form:select path="dataVisArray" items="${dataVisArray}" />

实际输出:

ERROR
Cause: javax.portlet.PortletException: org.apache.jasper.JasperException: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'dataVisArray' available as request attribute
Message: org.apache.jasper.JasperException: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'dataVisArray' available as request attribute
StackTrace:
javax.portlet.PortletException: org.apache.jasper.JasperException: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'dataVisArray' available as request attribute
    at org.jboss.portal.portlet.impl.jsr168.api.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:169)
    at org.jboss.portal.portlet.impl.jsr168.api.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:84)
...

预期输出:

<select id="dataVis" name="dataVis">
   <option value="pie">Pie Chart</option>
   <option value="categorizedVertical">Column Chart</option>
</select>

推荐答案

您是否尝试过这样做?

<form:select path="dataVisArray"><br />
     <form:option label="Select..." value=""/>
     <form:options items="${dataVisArray} itemLabel="label" itemValue="value"/>
</form:select>

这篇关于Spring MVC下拉框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆