使用 Grails 与 jQuery 创建 Web Calendar
2010-06-23 00:00:00 来源:WEB开发网当 FullCalendar 插件运行在用户的浏览器上的时候,将会异步地发送 HTTP 查询请求到服务器,查询并展示某时间范围内的日程数据。
服务发布的 URL:http://localhost:8080/MyCalendar/calendarEvent/listAsJson,
参数:
start:查询起始时间
end:查询结束时间
服务器将查询结果以 JSON 数据格式返回给用户的浏览器。FullCalendar 插件接收并解析返回 JSON 数据,并图形化地将用户日程展现在用户浏览器上。
日程管理服务
为了让用户可以在 FullCalendar 图形化的日程界面上很直观地管理日程。MyCalendar 将提供相应日程管理服务。由于篇幅有限,本文仅以取消日程服务为例,示例开发过程。
在 Grails Controller 中添加 deletedWithJson 方法,并实现取消删除日程服务逻辑。运行在用户浏览器端的 jQuery 及 FullCalendar 插件可以发送取消日程 HTTP 请求到服务器端,服务器接受请求并删除相关日程,并以 JSON 格式数据返回服务器执行结果。代码清单如下:
清单 3. 取消日程服务方法
def deletedWithJson = {
def resultAsJson = [result: "success", message: "The event has been deleted."]
def calendarEventInstance = CalendarEvent.get( params.id )
if(calendarEventInstance) {
try {
calendarEventInstance.delete()
flash.message = "CalendarEvent ${params.id} deleted"
redirect(action:list)
} catch(org.springframework.dao.DataIntegrityViolationException e) {
resultAsJson.result = "fail"
resultAsJson.message = "Database error, failed to delete the event."
}
} else {
resultAsJson.result = "fail"
resultAsJson.message = "CalendarEvent not found in database."
}
render resultAsJson as JSON
}
更多精彩
赞助商链接