2015-03-05 2 views
0

У меня есть форма с двумя кнопками типа отправки (да/нет), я хотел бы обрабатывать эту форму с помощью одного @RequestMapping в моем классе контроллера. Я, конечно, хочу обрабатывать несколько submit только для одного метода сопоставления запросов.Spring MVC - несколько кнопок отправки, обработанных в одиночном @requestmapping

Мой первый вопрос - это возможно. Можно ли обрабатывать несколько кнопок отправки с однократным отображением формы действия формы в классе контроллера?

Если да, то ниже приведен код, который я написал. Пожалуйста, предложите, чтобы это был правильный способ его реализации или если он нуждается в обновлении.

В настоящее время мой код выглядит следующим образом:

Form.jsp:

<form:form action="doAction"> 
    <input type="submit" name="buttonClick" class="button" value="yes, do Someting" /> 
    <input type="submit" name="buttonClick" class="button" value="no, do nothing" /> 
</form:form> 

Controller.java:-

private String buttonClick; 
@RequestMapping(value = "/doAction", method = RequestMethod.POST, params="buttonClick") { 
    if("yes, do Something".equalsIgnoreCase(buttonClick)) 
     // 
    else if("no, do Nothing".equalsIgnoreCase(buttonClick)) 
     // 
} 

ответ

1

Вы можете изменить вид действия на кнопки мыши, например, до "doAction?buttonClick="+<some value from clicked button>.

Или введите скрытый ввод в форму. При щелчке измените входное значение, чтобы отобразить нажатую кнопку. Затем вход доступен на стороне сервера.

0

Вы можете использовать скрытое поле и измените его значение на каждой кнопке мыши с помощью JQuery:

<form:form action="doAction"> 
    <input type="hidden" name="buttonClick" id="buttonClick" /> 
    <input type="submit" name="buttonClickYes" class="button" value="yes, do Someting" /> 
    <input type="submit" name="buttonClickNo" class="button" value="no, do nothing" /> 
</form:form> 



<javascript> 
    $(document).ready(function(){ 
    $("input[type=submit]").click(function(){ 
     $("#buttonClick").val($(this).val()); 
     return true; 
    }); 
    }); 
</javascript> 
Смежные вопросы