2016-03-11 2 views
0

То, что я хочу добиться:Spring MVC контроллер перенаправление на другой контроллер и хранить информацию

Когда пользователь нажимает на кнопку проценты на имущество, что они заинтересованы, они будут перенаправлены на той же странице. Только на этот раз появится тег, в котором говорится: «Вы проявили интерес к этому свойству», который будет отображаться видимым для Пользователя. Мне удалось перенаправить на вторую страницу, но слова «вы проявили интерес к этому свойству» не отображаются.

То, что я до сих пор:

Когда пользователь нажимает на кнопку «проценты» на JSP-странице свойств они направлены на контроллер, ниже. Этот контроллер обрабатывает запрос и получает свойство, которое они выбрали из базы данных. Затем я устанавливал значение «setExpressInterest» равным boolean для true для этого свойства.

@RequestMapping(value="/expressInterest/{propertyId}", method = RequestMethod.GET) 
    public String expressInterest(@PathVariable int propertyId, SecurityContextHolderAwareRequestWrapper request){ 

    Property property = propertyRepo.findById(propertyId); 
    property.setExpressInterest(true); 
    return "redirect:/property/{propertyId}"; 

} 

перенаправить запрос к следующему контроллеру ниже:

Контроллер ниже, получить идентификатор свойства из первого контроллера. Я установил его равным экземпляру свойства.

@RequestMapping(value = "/property/{propertyId}") 
public ModelAndView viewProperty(@PathVariable int propertyId, SecurityContextHolderAwareRequestWrapper request) { 

    ModelAndView mav = new ModelAndView("property"); 

    Property property = propertyRepo.findById(propertyId); 



     if (property.isExpressInterest() == true){ 
     mav.addObject("isExpress", true); 
     } 


    mav.addObject("property", property); 
    return mav; 
} 

<div> 
 
      <c:if test="${property.expressInterest}"> 
 
      \t \t \t <strong>You have expressed interest in property</strong> 
 
      </c:if> 
 
      </div>

Я был бы признателен за любую помощь, о том, как решить эту проблему. Или ссылки на полезные статьи.

ответ

0

Я забыл добавить свойство линииRepo.save (свойство). Это означало, что данные не были сохранены в репо.

@RequestMapping(value="/expressInterest/{propertyId}", method = RequestMethod.GET) 
    public String expressInterest(@PathVariable int propertyId, SecurityContextHolderAwareRequestWrapper request){ 
    Property property = propertyRepo.findById(propertyId); 
    property.setExpressInterest(true); 
    propertyRepo.save(property); 
    return "redirect:/property/{propertyId}"; 

}