Как я вижу модель в пост-методе MVC Spring - PullRequest
0 голосов
/ 20 октября 2018

Это view получает данные, и я добавляю эти данные в модель, потому что мне нужна эта информация в следующем view (мне нужно 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;
}

В следующем представлениикогда я нажимаю кнопку, я пришел к этому методу сообщения.И здесь мне нужны данные, которые я ранее добавил в модель.

@PostMapping("/pagoTarjeta.htm")
protected ModelAndView onSubmit(@RequestParam Map<String, String> reqPar, 
ModelAndView modelAndView)
        throws Exception {}

1 Ответ

0 голосов
/ 20 октября 2018

Все данные, которые вы поместили в модель, используются представлением "pagoTarjeta".Если вы хотите использовать эти данные в другом контроллере, вы должны использовать аннотацию @ModelAttribute, используя @ModelAttribute, просто извлекает значение из сеанса и передает его в качестве параметра другому контроллеру.

@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.
}

И вы можете использовать объект ConsultaUrgente из модели и передавать его в другое представление по желанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...