应用数据库更改以查看jsp

时间:2015-01-10 16:50:41

标签: spring jsp

我正在加载一个jsp页面,在控制器中我添加了一个List作为模型属性。然后列表在jsp页面中显示如下。

<c:forEach var="pattern" items="${patterns}">
                 <li class="list-group-item liitem"><strong>${pattern.id}:</strong>
                  <span class="pull-right">${pattern.name}</span>
                 </li>
 </c:forEach>

这是我打电话的控制器

@RequestMapping(method = RequestMethod.GET)
public ModelAndView printWelcome(ModelMap model){
    ModelAndView mav = new ModelAndView("arcane") ;
   List<Pattern> patternList=patternDao.patternList();
    mav.addObject("patterns", patternList);
    return mav;
}

patternList会不时更改,因为这是从数据库中获取的。如何在不加载整个jsp页面的情况下更新这些更改。我想要的是如何通过再次调用控制器来更新一个div标签?

我尝试使用ajax来调用控制器方法,但是如何使用ajax将新列表应用于jsp视图。

2 个答案:

答案 0 :(得分:1)

使用Ajax,当您收到响应时更改内容。

Check this: http://jsfiddle.net/Lobmx96y/1/

答案 1 :(得分:1)

您可以为该div提供一个id,当您想刷新列表时,在响应中对控制器进行ajax调用,找到该div,如果页面中的div与响应中的div,则替换内容(通过设置div的InnerHtml)

或者

您可以创建仅包含列表的jsp页面(foreach标记)

创建一个新的控制器方法

@RequestMapping(value = "justTheList" method = RequestMethod.GET) public ModelAndView printWelcome(ModelMap model){ ModelAndView mav = new ModelAndView("JSPPAGE_WITH_THE_LIST") ; List<Pattern> patternList=patternDao.patternList(); mav.addObject("patterns", patternList); return mav; }

设置或者响应的InnerHtml;