在Spring MVC 3.0中使用下划线绑定请求参数

tmb*_*gmn 5 java data-binding spring spring-mvc

请考虑以下要求:请求参数必须使用Spring MVC 3.0绑定到对象.请求参数包含下划线(例如http://myurl:80/x?param_one=1&param_two=2).这些参数应绑定到以下对象:

class MyObject {
    private Integer paramOne;
    private Integer paramTwo;

    ...
}
Run Code Online (Sandbox Code Playgroud)

你会怎么做呢?

重要提示:请考虑可能存在大量此类参数和对象,并且在包含下划线的对象上定义setter方法并不是一种好的做法.

Raj*_*tha 1

您可以使用@RequestMapping属性来做到这一点

@RequestParam(value = "param_One") String paramOne,@RequestParam(value = "param_two") String paramTwo
Run Code Online (Sandbox Code Playgroud)

将其添加到方法签名中

但为了最佳实践,最好传递相同的变量名

  • 虽然我很欣赏这个答案,但请记住,在问题的底部我说过:*还要考虑到可能存在大量这样的参数和对象*。在这种情况下,“@RequestParam”是不可行的,因为这意味着控制器方法签名具有超过 20 个参数。 (4认同)