Рендеринг списков в JSP

#jsp #spring-mvc #jstl

#jsp #spring-mvc #jstl

Вопрос:

У меня возникла проблема при попытке вывести массив в JSP:

 @RequestMapping(value="/searchResult.do", method = RequestMethod.POST)
ModelAndView search(HttpServletRequest request, HttpServletResponse response) throws SQLException
{
    String keyword = request.getParameter("keyword");

    String within = request.getParameter("witin");

    String status = request.getParameter("status");

    String query="select id,title,description,story_type,uploaded_date,popularity from story where status='" status "' and title like '" '%' keyword '%' "'";
     stmt= (Statement) DBManager.getMyConnection();
     rs = stmt.executeQuery(query);
     Map map = new HashMap();
     List wordList = new ArrayList();
     if(keyword!=null){
          while (rs.next()) {
          String id = rs.getString("id");
          String title = rs.getString("title");
          String description = rs.getString("description");
          String parent = rs.getString("uploaded_date");
          String type = rs.getString("story_type");
          String pop = rs.getString("popularity");
          wordList.add(id);
          wordList.add(title);
          wordList.add(type);
          wordList.add(description);
          wordList.add(parent);
          wordList.add(pop);
          map.put("wordList", wordList);
           }
          return new ModelAndView("searchResult",map);
     }
      return new ModelAndView("search");
}
  

в JSP я использую ${wordList} который печатает

[20, Индия выиграла кубок мира, спорт, это мой кубок, 2011-03-26, 2, 27, Индия выиграла кубок мира, спорт, xyz, 2011-04-08, 2]

…это две записи в одном массиве.

Как я могу напечатать каждый элемент в отдельной строке в JSP?

Ответ №1:

Ваша переменная, называемая wordList, представляет собой коллекцию. Для отображения элементов коллекции вы можете использовать forEach.

Хороший пример этого доступен здесь и более короткий пример здесь.