С классом формы в Spring 3, как вы сопоставляете поле формы HTML с именем "order_id" с полем Java "orderId"? - PullRequest
1 голос
/ 05 сентября 2010

Допустим, у вас есть 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 Ответ

2 голосов
/ 05 сентября 2010

Все, что вам нужно сделать, это назвать свойство order_id в классе поддержки формы:

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

    ... getters, setters ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...