Java 使用AngularJS访问DOM对象

Java 使用AngularJS访问DOM对象,java,spring,angularjs,Java,Spring,Angularjs,我有以下代码作为Spring控制器: @RequestMapping(value = "/city/{city}") public ModelAndView cityRestaurants(@PathVariable String city){ ModelAndView mav = new ModelAndView(); mav.setViewName("restaurant"); List<Restaurant> list = null; t

我有以下代码作为Spring控制器:

@RequestMapping(value = "/city/{city}")
    public ModelAndView cityRestaurants(@PathVariable String city){
    ModelAndView mav = new ModelAndView();
    mav.setViewName("restaurant");
    List<Restaurant> list = null;
    try {
        list = rService.getRestaurantsFromCity(city);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    mav.addObject("list", list);

    return mav;
    }
@RequestMapping(value=“/city/{city}”)
公共模型和视图城市房地产(@PathVariable String city){
ModelAndView mav=新ModelAndView();
mav.setViewName(“餐厅”);
List=null;
试一试{
list=rService.getRestaurantsFromCity(城市);
}捕获(SQLE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
mav.addObject(“列表”,列表);
返回mav;
}

如何使用AngularJS访问客户端的“列表”?

使用AngularJS的常用方法是使用REST API从服务器加载数据。如果数据以JSon格式返回,AngularJs会自动将其识别为Javascript对象,并可以直接添加到视图中

下面是一个简单的示例,使用:


配置SpringMVC以生成JSon数据相当容易。我不知道如何指导您,但您会发现大量信息。

可以定义一个没有视图但将返回参数呈现为JSON的控制器。为了使其工作,Jersey库需要位于类路径上:

@Responsebody
@RequestMapping(method=RequestMethod.GET, value = "/city/{city}", produces = "application/json" )
public List<Restaurant> cityRestaurants(@PathVariable String city){
        return rService.getRestaurantsFromCity(city);
 }

这将打印城市餐厅。

正如@jhadesdev建议的那样,您可以使用Restful Web服务,以JSON格式将数据返回给angular js Controller,而不是使用模型和视图方法。在那里,您可以根据结果根据需要更改$scope变量。有关详细教程,请访问spring网站

一,


2

向REST url发出API请求,就完成了
@Responsebody
@RequestMapping(method=RequestMethod.GET, value = "/city/{city}", produces = "application/json" )
public List<Restaurant> cityRestaurants(@PathVariable String city){
        return rService.getRestaurantsFromCity(city);
 }
 $http({
        method: 'GET',
        url: 'https://www.example.com/city/yourcityId',
     }).success(function(data){
        alert('restaurants: ' + data);
    }).error(function(){
        alert("error");
    });