У меня запущено простое приложение Spring MVC. Я могу передать строковое значение из контроллера в jsp - работает нормально.
Когда контроллеру предлагается передать данные списка, он не отображается в представлении jsp. Я проверил данные на стороне контроллера, чтобы убедиться, что они не пусты, прежде чем переходить к jsp.
Фрагменты кода ниже
@RequestMapping(method = RequestMethod.GET)
public ModelAndView printWelcome(){
ArrayList<String> listData = new ArrayList<String>();
listData.add("Hello");
listData.add("World");
for(int i =0; i< listData.size(); i++){
System.out.println(listData.get(i));
}
ModelAndView modelAndView = new ModelAndView("list");
modelAndView.addObject("lists", listData);
return modelAndView;
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<ul>
<c:forEach var="listValue" items="${listData}">
<li>${listValue}</li>
</c:forEach>
</ul>
</body>
EDIT:
Проблема заключалась в моей весенней конф. (Я думаю - поскольку я все еще новичок в этом.)
Контроллер возвращал объект ModelAndView, хотя на самом деле он должен возвращать только строковое имя представления. Также рабочий контроллер имеет конструктор с параметром arg ModelView, в который необходимо дописать данные списка.`
@RequestMapping(method = RequestMethod.GET)
public String printWelcome(ModelMap map){
List<String> listData = new ArrayList<String>();
listData.add("Hello");
listData.add("World");
map.addAttribute("lists", listData);
//return list;
return "list";
}
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
в верхней части JSP? - person Evgeni Dimitrov   schedule 02.03.2015