Java 使用AngularJS访问DOM对象
我有以下代码作为Spring控制器: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
@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");
});