Невозможно передать атрибут из контроллера для просмотра - PullRequest
1 голос
/ 03 июня 2010

Я использую 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 ]

1 голос
/ 03 июня 2010

Я использую его так же, как ваш, хотя я использую класс Model вместо ModelMap, хотя я думаю, что он работает также и с ModelMap. С другой стороны, когда вы пишете:

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

Вы имели в виду что-то вроде этого:

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

если вы не используете $ {}, оно не будет напечатано.

0 голосов
/ 03 июня 2010

Это немного другой подход, но он должен работать:

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

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

}
...