与春季3窗体类,你怎么一个名为“ORDER_ID” HTML表单字段映射到Java领域的“订单ID”

2019-09-27 03:55发布

比方说,你有一个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”,但类字段被称为“订单ID”。

有没有什么办法不重新命名HTML关联这些?

随着@RequestParam注释,你可以这样做:

@RequestParam(value="order_id") String orderId

有没有办法做上述给ajaxForm类相似的地方?

Answer 1:

所有你需要做的就是在你的表单支持类属性命名为“ORDER_ID”:

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

    ... getters, setters ...
}


文章来源: With a form class in Spring 3, how do you map a HTML form field called “order_id” to a Java field “orderId”?