在Spring MVC 3中传递请求参数
问题内容:
我只想通过请求参数发送下拉列表的值。就我而言
Kidscalcula_web/start.htm?klasid=myValueHere
我知道这样做的方法,但是将其用于此听起来很不合理。如果我很无聊,我可能会写一些jQuery做一个例子并发送参数,现在手动创建我的请求字符串听起来真的是一个非常糟糕的主意,因为Spring会解决这个问题。那么,如何制作一个简单的表单,将我的dropdownvalue发送到我的控制器?
只是我在任何地方都找不到那么琐碎的东西,你们中的一个可能可以很快帮我解决这个问题。我想控制器将像下面这样琐碎:
@RequestMapping(value = "post")
public String postIndex(@RequestParam("klasid") String klasid, HttpServletResponse response,
HttpServletRequest request) {
}
但我真的找不到任何有关如何制作JSP来向我发送该值的示例。<form>
taglib 是否可能?
问题答案:
该<form>
标签库通常与形背衬命令对象使用,而不是被结合到使用单独的控制器@RequestParam
参数。这就是为什么您不会看到该组合使用的任何文档示例的原因。
例如,@RequestParam("klasid")
您将拥有一个带有名为的字段的命令类,而不是使用,klasid
而Spring会将整个批次绑定在一起:
@RequestMapping(value = "post")
public String postIndex(@ModelAttribute MyCommandClass command) { /../ }
当您认为表单通常具有多个参数,并且使用来声明所有参数时,这很有意义 @RequestParam
。
话虽如此,您仍然可以执行此操作-任何表单控件都将生成@RequestParam
可以绑定到的请求参数 ,但是如果您选择偏离Spring
MVC的表单支持命令模式,那么它会很尴尬。