1

私はSpring Framework 3.1を使用しており、オブジェクトのリストを表示するページがあります。例えば:

<c:forEach var="person" items="${restaurants}">
...
</c:forEach>

そして、コントローラーメソッドのコード (1):

    @RequestMapping(value = "/people",method = RequestMethod.GET)
 private String restaurants(Map<String, Object> map) {
    List<Restaurant> r=new ArrayList<Restaurant>();
    for(int i=0;i<5;i++)
    {
        Restaurant restaurant=new Restaurant();
        restaurant.setAbout("bla bla!"+i);
        restaurant.setName("REstaurant"+i);
        r.add(restaurant);
    }
    map.put("restaurants",r);
    return "/restaurants";
  }

ここで、AJAX を使用して情報を動的に変更したいと考えています。

Ajax Post Request(2)の私の方法:

@RequestMapping(value = "/restaurant")
private  @ResponseBody List<Restaurant> restaurant(Map<String, Object> map,
@RequestParam(value = "id", required = false) Long id,HttpServletResponse response) {
    List<Restaurant> r=new ArrayList<Restaurant>();
    for(int i=0;i<5;i++)
    {
        Restaurant restaurant=new Restaurant();
        restaurant.setAbout("bla bla bla!"+i);
        restaurant.setName("REstaurant"+i);
        r.add(restaurant);
    }
    return r;
}

ajaxリクエスト後に受信した情報を表示するにはどうすればよいですか? c:forEach タグを使用してもう一度行うことはできますか? 2 番目の方法を書き直す必要があることはわかっています。2番目のメソッドのidパラメーターに応じて、オブジェクトを取得し、最初のメソッドで使用したのと同じモデルページに配置しますか?

4

2 に答える 2

0

@Kevin の投稿は正しい線に沿っています。構成にいくつかの jar を追加する必要があり、コントローラーから JSON を生成するために ContentNegotiatingViewResolver を実装する必要があります。

このビデオでは、あなたがやろうとしていることを正確にセットアップするためのすべてのステップをカバーしています。

于 2013-09-11T16:10:02.157 に答える