【发布时间】:2016-03-11 18:15:47
【问题描述】:
我想要达到的目标:
当用户单击他们感兴趣的属性上的兴趣按钮时,他们将被重定向到同一页面。只有这一次,才会有一个标签表明“您已经表达了对该属性的兴趣”,该标签将显示给用户可见。我已成功重定向到第二页,但没有出现“您已表示对此属性感兴趣”字样。
到目前为止我所拥有的:
当用户单击属性 JSP 页面上的“兴趣”按钮时,他们将被定向到下面的控制器。此控制器处理请求并获取他们从数据库中单击的属性。然后,我将该属性的“setExpressInterest”布尔值设置为 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}";
}
我将请求重定向到下面的下一个控制器:
下面的Controller,从第一个Controller获取属性id。我将它设置为一个属性实例。
@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}">
<strong>You have expressed interest in property</strong>
</c:if>
</div>
对于如何解决此问题的任何帮助,我将不胜感激。或任何有用文章的链接。
【问题讨论】:
标签: spring redirect model-view-controller controller