【问题标题】:how to fetch data from dropdown into spring mvc controller如何从下拉列表中获取数据到spring mvc控制器中
【发布时间】:2014-12-08 04:55:21
【问题描述】:

我正在研究 Spring mvc,并且在这个概念上也是新的。我有一个使用无序列表的下拉列表,当我单击提交按钮时,我想从 Controller 的下拉列表中获取数据。我也有文本字段,使用它很容易将测试字段输入控制器。但我不知道如何从下拉列表中获取数据。我的jsp页面是这样的 我已经实现了这样的html代码

<form role="form" method="post" action="/Web/password.html">
    <fieldset>
        <div class="form-group input-group">
            <span class="input-group-addon">
                <i class="glyphicon glyphicon-user"></i>
            </span> 
            <input class="form-control" placeholder="User Name" name="userName" type="email" required="" autofocus="">
        </div>

        <div class="form-group input-group">
            <span class="input-group-addon">Applications</i></span>
            <div class="btn-group" id='btnn'>
                <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
                    <span data-bind="label">Select One Application</span>&nbsp;<span class="caret"></span>
                </button>
                <ul class="dropdown-menu" name="dropDown" role="menu" style="height:200px;overflow: auto;" >
                    <c:forEach var ="entry" items="${listOfApp }">
                        <li><a tabindex="-1" href=""><c:out value="${entry }" /></a></li>
                    </c:forEach>
                </ul>
            </div>
        </div>

    </fieldset>
</form>

我的控制器是

@RequestMapping(value = "/password.html", method = RequestMethod.POST)

    public String submit(@RequestParam (value ="userName") String userName,
            @RequestParam ("dropDown") String dropDown) {   

        System.out.println(dropDown+" "+userName);

        return "Hi";

    }

我在控制器中使用&lt;li&gt; 作为文本字段。但在服务器上显示错误,它没有从名称“下拉”中获取值。如果有人知道如何解决这个问题,请帮助我。

【问题讨论】:

  • 是否填充了用户名?
  • 是的。用户名没有错误

标签: javascript spring spring-mvc


【解决方案1】:

Spring MVC 将从 html 选择填充模型,但您的下拉列表基于 ul/li,它们不是 html 输入。

如果您可以切换到 select 或 spring tasgs form:select、form:option 或 form:options 它将起作用。 您需要将 taglib 用于 spring 标签,将其放在 jsp 的顶部

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

如果您必须保留 ul/li,则需要使用隐藏字段来支持它。

要使用隐藏,请从 ul 中删除名称 dropDown。 在 JavaScript 中,在选择更改时附加一个事件侦听器,并将 ul/li 与隐藏的同步 隐藏字段的名称应该是 dropDown。

<input type="hidden" name="dropDown" />

尝试以下链接获取提示 http://www.mkyong.com/spring-mvc/spring-mvc-dropdown-box-example/

Spring 相关文档 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/view.html

【讨论】:

  • 如果想从 Ul/li 更改,那么我必须在我的 jsp 中更改很多东西。你能帮我用隐藏标签吗?
猜你喜欢
  • 2015-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多