2011-07-12 14 views
5

Tengo dos botones de envío en mi JSP agregar, eliminar. Realmente no sé cómo diferenciar las operaciones en el lado del controlador.Cómo manejar dos operaciones de envío diferentes de la misma forma en un controlador de resorte

<form:form modelAttribute="emp" action="/empl" method="POST"> 
    <input type="submit" name="operation" value="Remove"/> 
    <input type="submit" name="operation" value="Add" /> 
</form:form> 

@RequestMapping(value = "/empl", method = RequestMethod.POST) 
public String getD(@Valid Em form, BindingResult result, Model model) {//code} 

Onclick de los valores puestos cualquiera de los botones correctamente a lo largo de la "operación Add" o "operación de eliminación", respectivamente, y luego agregar las obras, ya que es el método por defecto que se llama. Ahora, ¿cómo atrapo el parámetro de operación y diferencio la operación y la uso?

Respuesta

6

El navegador proporcionará un parámetro de solicitud que contiene el nombre del botón de envío que se presionó. A continuación, puede usarlos para filtrar:

@RequestMapping(value="/empl", method=RequestMethod.POST, params="operation=Remove") 
public String remove(@Valid Em form, BindingResult result, Model model) 

@RequestMapping(value="/empl", method=RequestMethod.POST, params="operation=Add") 
public String add(@Valid Em form, BindingResult result, Model model) 

Cada uno de estos puede invocar la lógica compartida según sea necesario.

+0

¡¡Oye, funciona !!! muchas gracias :) – sara

Cuestiones relacionadas