¿Cómo veo el modelo en un método de post MVC primavera

votos
0

Este viewrecibe los datos, y poner estos datos en el modelo porque necesito esta información en el siguiente view(necesito consultaUrgente):

@RequestMapping(value = /pagoTarjeta.htm)
public ModelAndView handleRequest(HttpServletRequest request, 
HttpServletResponse response,
        @RequestParam Map<String, String> reqPar) throws ServletException, 
IOException {
String titulo = reqPar.get(titulo);
    String descripcion = reqPar.get(descripcion);
    Integer ServiceId = Integer.parseInt(reqPar.get(servicio));
    Servicio servicioConsulta = servicioManager.getServiciobyId(ServiceId);
    ConsultaUrgente consultaUrgente = new ConsultaUrgente();
    Cliente cliente = clienteManager.getClientes().get(0);
    consultaUrgente.setDescripcion(descripcion);
    consultaUrgente.setTitulo(titulo);

    consultaUrgente.setServicioOrigen(servicioConsulta);
    consultaUrgente.setClienteOrigen(cliente);
    consultaUrgente.setEstado(EstadoConsulta.creada);

    Map<String, Object> myModel = new HashMap<String, Object>();

    myModel.put(consultaUrgente, consultaUrgente);
    ModelAndView mav = new ModelAndView(pagoTarjeta, model, myModel);

    return mav;
}

En la siguiente vista cuando se presiona un botón que vine a este método post. Y aquí tengo los datos que he añadido previamente al modelo.

@PostMapping(/pagoTarjeta.htm)
protected ModelAndView onSubmit(@RequestParam Map<String, String> reqPar, 
ModelAndView modelAndView)
        throws Exception {}
Publicado el 20/10/2018 a las 10:31
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

Todos los datos que colocó dentro del modelo, es utilizado por la vista "pagoTarjeta". Si desea utilizar esos datos en otro controlador, entonces debería usar la @ModelAttributeanotación, utilizando @ModelAttribute simplemente tira el valor de la sesión y se lo pasa como un parámetro a otro controlador.

@RequestMapping(value = "/pagoTarjeta.htm")
public String handleRequest(
       HttpServletRequest request, 
       HttpServletResponse response,
       @RequestParam Map<String, String> reqPar, 
       Model model) 
throws ServletException, IOException {

     String titulo = reqPar.get("titulo");
     String descripcion = reqPar.get("descripcion");
     Integer ServiceId = Integer.parseInt(reqPar.get("servicio"));
     Servicio servicioConsulta = servicioManager.getServiciobyId(ServiceId);
     ConsultaUrgente consultaUrgente = new ConsultaUrgente();
     Cliente cliente = clienteManager.getClientes().get(0);
     consultaUrgente.setDescripcion(descripcion);
     consultaUrgente.setTitulo(titulo);

     consultaUrgente.setServicioOrigen(servicioConsulta);
     consultaUrgente.setClienteOrigen(cliente);
     consultaUrgente.setEstado(EstadoConsulta.creada);

     model.addAtribute("consultaUrgente", consultaUrgente); // Add consultaUrgentre as an attribute to the model

     return "pagoTarjeta"; // Pass the model to the view
}


@PostMapping("/pagoTarjeta.htm")
protected ModelAndView onSubmit(@ModelAttribute("consultaUrgente") ConsultaUrgente consultaUrgent, ModelAndView modelAndView) throws Exception 
{
     // Retrieve the the object here.
}

Y se puede utilizar el ConsultaUrgenteobjeto del modelo y pasarlo a otra vista como el deseo.

Respondida el 20/10/2018 a las 12:17
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more