Foros del Web » Programación para mayores de 30 ;) » Java »

Spring mvc

Estas en el tema de Spring mvc en el foro de Java en Foros del Web. Estimados , primero que todos saludar a la comunidad y esperar me puedan ayudar con lo siguiente: Trabajando con netbeans 8.0.2 Mi index.jsp Código: <c:url ...
  #1 (permalink)  
Antiguo 02/08/2015, 02:32
 
Fecha de Ingreso: agosto-2015
Mensajes: 1
Antigüedad: 8 años, 9 meses
Puntos: 0
Spring mvc

Estimados , primero que todos saludar a la comunidad y esperar me puedan ayudar con lo siguiente:

Trabajando con netbeans 8.0.2

Mi index.jsp
Código:
<c:url var="addAction" value="/personas/add" ></c:url>
            <form:form action="${addAction}" commandName="personas" method="POST">
                <table>
                    <tr>
                        <td>
                            <form:label path="nombre">
                                        <spring:message text="NOMBRE"/>
                            </form:label>
                        </td>
                    </tr>
                    
                    <tr>
                        <td> 
                            <input type="submit" value="<spring:message text='Add Person'/>" />
                        </td>
                    </tr>
                </table>
            </form:form>
mi controlador:

Código:
package com.proyectito.springmvc.controller;
import com.proyectito.springmvc.model.Personas;
import com.proyectito.springmvc.service.PersonasService;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/*")
public class PersonasController {
    private  PersonasService personaService;
    @RequestMapping(value= "/personas/add", method = RequestMethod.POST)
    	public String addPerson(@ModelAttribute("personas") Personas p){
		this.personaService.addPerson(p);
		return "redirect:/index";
    }
    
}
Mi error:

Código:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'personas' available as request attribute
root cause

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'personas' available as request attribute
  #2 (permalink)  
Antiguo 04/08/2015, 10:12
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Spring mvc

Hola,
cuando estás utilizando commandName=personas te está mapeando un objeto 'personas' al formulario, pero tú ese objeto no lo tienes creado.

Debes crear un objeto 'personas' en el controlador y añadirlo al modelo de 'index' que devolverás (ModelAndView) en vez del String que usas para redireccionar a 'index'.

1.- No devuelvas un String, devuelve un ModelAndView.
2.- Crea un objeto 'personas'
3.- Añadelo al modelo

Saludos!

Etiquetas: jsp, mvc, netbeans, spring, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:28.