Spring使用ModelAndView addObject不仅仅显示列表

时间:2015-01-05 07:14:34

标签: java spring jsp

我试图在jsp页面中显示使用addObject()加载并通过控制器返回的对象。但是当我尝试添加一个它在jsp页面上显示的对象时。但是list没有显示。

这是我的控制器

@RequestMapping(method = RequestMethod.GET)
public ModelAndView printWelcome(ModelMap model){
    ModelAndView mav = new ModelAndView("arcane") ;
   //List<Pattern> patternList=patternDao.patternList();
    List<String> list = getList();
    mav.addObject("lists", list);
    mav.addObject("channa", "gayan");
    return mav;
}

private List<String> getList() {

    List<String> list = new ArrayList<String>();
    list.add("List A");
    list.add("List B");
    list.add("List C");
    list.add("List D");
    list.add("List 1");
    list.add("List 2");
    list.add("List 3");

    return list;

}

这是我的Jsp代码部分

<ul>
    <c:forEach var="listValue" items="${lists}">
          <li>${listValue}</li>
          <li>${channa}</li>
     </c:forEach>
</ul>

它显示value of "channa" correctly,但不显示content in "lists"。谁知道这里有什么问题?

2 个答案:

答案 0 :(得分:0)

更改您的jsp视图,如下所示:

<ul>
    <c:forEach var="listValue" items="${lists}">
          <li><c:out value="${listValue}" /></li>
          <li>${channa}</li>
     </c:forEach>
</ul>

答案 1 :(得分:0)

发现了错误。

需要在jsp页面上定义JSTL才能工作

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>