Прежде всего, вы используете поля формы без name
s, поэтому serialize()
фактически выдает пустой результат.Добавьте имена:
<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>
Я полагаю, вы используете Prototype, поэтому parameters: $('ajax_form').serialize(true)
создает URL-кодированное представление формы (а также вам не нужно true
здесь, оно добавляет ненужные преобразования).Поскольку @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)