在Spring MVC 3中传递请求参数

too*_*hcs 5 spring spring-mvc httprequest

我只想用请求参数发送我的下拉列表的值.在我的情况下

Kidscalcula_web/start.htm?klasid=myValueHere
Run Code Online (Sandbox Code Playgroud)

我知道这样做的方法,但这听起来非常不合理.如果我感到无聊,我可能会写一些jQuery来做一个帖子并发送参数为例.现在真的听起来像是一个非常糟糕的想法手动创建我的请求字符串,因为Spring负责这一点.那么我怎么能做一个简单的表单,只是将我的dropdownvalue发送给我的控制器?

只是我无法在任何地方找到一些如此微不足道的东西,你们其中一个人可能会很快帮助我.我认为控制器会像以下一样微不足道:

    @RequestMapping(value = "post")
    public String postIndex(@RequestParam("klasid") String klasid, HttpServletResponse response,
            HttpServletRequest request) {
}
Run Code Online (Sandbox Code Playgroud)

但我真的找不到任何关于如何让JSP向我发送该值的示例.这可能与<form>taglib有关吗?

ska*_*man 12

<form>标签库通常与形背衬命令对象使用,而不是被结合到使用单独的控制器@RequestParam参数.这就是为什么您不会看到任何一起使用该组合的文档示例.

例如,@RequestParam("klasid")你有一个带有一个字段的命令类,而不是拥有它,klasid而Spring会将整个部分绑定在一起:

@RequestMapping(value = "post")
public String postIndex(@ModelAttribute MyCommandClass command) { /../ }
Run Code Online (Sandbox Code Playgroud)

当您考虑表单通常具有多个参数时,这是有道理的,并且将它们全部声明使用会很麻烦 @RequestParam.

话虽如此,你仍然可以这样做 - 任何表单控件都会生成@RequestParam可以绑定的请求参数 ,但是如果你选择偏离Spring MVC的表单支持命令模式,那么它就很尴尬了.