无法将属性从控制器传递到视图

时间:2010-06-03 15:41:38

标签: java spring-mvc jstl spring-3

我正在使用Spring MVC 3作为网络应用。在应用程序中,URI模板假设由控制器方法处理,然后控制器方法将属性传递给视图。目前,控制器确实处理请求,甚至转发到正确的视图。但是,它不会将属性传递给视图。下面是URI模板,控制器方法和相关的jsp标签。有谁看到了什么问题?

URI:

/home/{status}

控制器:

@RequestMapping("/home")
@Controller
public class HomeController {
...
...
@RequestMapping(value="/{status}") 
public String homeStatusView(@PathVariable("status") String status, ModelMap model) {
model.addAttribute("status", status);
return "home";
}
}

JSP:

...
<c:if test="${not empty status}">
<span class="status">Your status is available...</span>
</c:if>
...

2 个答案:

答案 0 :(得分:1)

我使用它的方式与你的相同,虽然我使用Model类而不是ModelMap,尽管我认为它与ModelMap一样好用。另一方面,当你写:

<span class="status">Your status is available...</span>

你的意思是这样吗?:

<span class="${status}">Your status is available...</span>

如果您不使用$ {},则不会打印。

答案 1 :(得分:0)

这是一种稍微不同的方法,但应该有效:

@RequestMapping(value="/{status}") 
public ModelAndView homeStatusView(@PathVariable("status") String status) {

  ModelAndView mav = new ModelAndView("home");
  mav.addAttribute("status", status);
  return mav;

}