使用Spring 3中的表单类,如何将名为“order_id”的HTML表单字段映射到Java字段“orderId”?

时间:2010-09-05 14:06:21

标签: java spring spring-mvc

假设您有一个HTML表单:

<form> 
 <input name = "in1" id="in1" type="text" value="one"> 
 <input name = "in2" id="in2" type="text" value="two"> 
 <input name = "in3" id="in3" type="text" value="three"> 
</form>

使用@RequestParam,您可以将字段绑定为单独的参数:

public String doAjax(@RequestParam("in1") String in1, 
    @RequestParam("in2") String in2, @RequestParam("in2") String in2)

但你也可以(据说)创建一个类来保存表单数据并将其作为模型属性传递:

public class AjaxForm {
    private String in1;
    private String in2;
    private String in3;

    ... getters, setters ...
}

-

public String doAjax(AjaxForm form)

但是如果某些表单字段有下划线怎么办?

假设HTML表单字段称为“order_id”,但类字段称为“orderId”。

有没有办法在不重命名HTML的情况下关联它们?

使用@RequestParam注释,您可以这样说:

@RequestParam(value="order_id") String orderId

有没有办法与上面的AjaxForm类做类似的事情?

1 个答案:

答案 0 :(得分:2)

您需要做的就是在表单支持类中命名属性“order_id”:

public class AjaxForm {
    private String in1;
    private String in2;
    private String in3;
    private String order_id;

    ... getters, setters ...
}