这是我的情况的简短描述...
- 我有春豆BookingServiceImpl,它实现了BookingService
- BookingService 有方法:RoomDescription getRoomDescriptionById(String roomId);
- 我也有带有javascript的JSP页面
-
我想在javascript中做这样的事情
var roomDescription = bookingService.getRoomDescriptionById(222);
///...使用房间说明
问题是:是否有任何现有的框架可以做这样的事情(神奇地允许从javascript中计算Spring bean,而无需额外的样板代码,假设所有参数和方法结果都是JSON友好的)?
Spring 提供了通过 Web MVC 框架公开 RESTful 端点的机制
文档非常好。特定示例的控制器定义可能如下所示:
@Controller
@RequestMapping(value = "/rooms/{roomId}", method = RequestMethod.GET, produces="application/json")
@ResponseBody
public Room getRoom(@PathVariable String roomId, ModelMap modelMap) {
return bookingService.getRoomById(roomId);
}
在javascript方面,你可以使用jQuery进行ajax调用来检索数据。下面是一个示例:
$.getJSON('http://yourserver.com/rooms/222',
function(room) {
// Do something with room.description
});
这是一个基本示例(没有适当的错误处理、安全性等)。这是我所知道的来自javascript的Spring RESTful调用的最接近现有框架的东西。如果你需要在客户端javascript上访问房间数据,那么你需要通过一些Spring结构(例如控制器)<</p>
> 看看DWR。这与创建 js 客户端非常接近。http://directwebremoting.org/dwr/documentation/server/integration/spring.html