考虑以下要求:必须使用Spring MVC 3.0将请求参数绑定到对象。请求参数包含下划线(例如http://myurl:80/x?param_one=1¶m_two=2
)。这些参数应绑定到以下对象:
class MyObject {
private Integer paramOne;
private Integer paramTwo;
...
}
你会怎么做呢?
重要提示:认为可能存在大量此类参数和对象,并且在包含下划线的对象上定义setter方法并不是一种好习惯。
答案 0 :(得分:3)
Rajith的答案专门用于控制器方法,并没有解决您最初询问如何将下划线参数绑定到对象的问题。
我目前所采用的hacky解决方案是完成您实际要求的是以这种方式命名我的二传手:
public void setProject_ids(List<Long> project_ids) {
请注意,RequestParam不能应用于方法,并且在应用于此setter的参数时不起作用。
答案 1 :(得分:1)
您可以使用@RequestMapping
属性
@RequestParam(value = "param_One") String paramOne,@RequestParam(value = "param_two") String paramTwo
将此添加到方法签名中
但是对于最佳实践,最好传递相同的变量名称