使用Grails与jQuery创建Web Calendar2011-04-15 IBM 邹林志本文所面向的读者本文读者应该需要具有一定的 经验,并对于 css、 Ajax、Groovy 等技术,以及 Grails、jQuery 相关框架有一定的了解。Grails,jQuery,jQuery Plugin 介绍Grails 是一套用于快速 Web 应用开发的开 源框架,它基于 Groovy 编程语言,并构建于 Spring、Hibernate 和其它标准 Java 框架之 上,从而为大家带来一套能实现超高生产力的一站式框架。jQuery 是一个 JavaScript 库,它有助于简化 JavaScript™ 以及 Asynchronous JavaScript + XML (Ajax) 编程。与类似的 JavaScript 库不同,jQuery 具有独特的基本原 理,可以简洁地表示常见的复杂代码。jQuery Plugin(jQuery 插件)是对于 jQuery 框架现有功能的一种标准扩展方式。开发 人员可以通过这种方式去扩展 jQuery 的现有功能,并可通过 jQuery 社区发布。jQuery Plugin 大大扩展了 jQuery 的功能,并有利于其他开发者重复使用。一些功能强大 jQuery Plugin,如本文将要使用FullCalendar、qTip 更是大大简化了复杂 Web 应用程序开发,缩 短了开发周期。对于 Grails、jQuery 和 jQuery Plugin,developerWorks 已经有 一系列的文章进行介绍,本文就不再详细介绍。示例程序本文将要利用 Grails, jQuery 及其插件创建一个 Ajax 的 Web Calendar。用户可以通过使用Ajax 的日程 表界面的去直观地查看管理日程。本文就如何灵活使用Grails 这种快速开发框架,发布成 JSON 数据服务,并结合 jQuery 及其插件动态展现日程数据将进行介绍和讨论。背景介绍目前很多著名的互联网公司都发布了 Web Calendar,如 Google、Yahoo、微软等。相对 于传统的 Web Calendar,最新的程序将用户日程都以日程表这种直观的方式展现给终端用户 ,并可以按月、周、日等不同周期展示。同时配合 Ajax 技术,使用局部内容动态更新,大 大提高了用户体验。如果使用传统的 Web 开发框架,开发一个这样的 Web Calendar 的周期会相对较长。从 持久层的数据模型和数据源,业务逻辑层的服务和控制器,到 Web 的前端展示,传统开发方 式需要花费较大精力分别开发各个组件。而 Grails 这种新的 Web 开发框架出现,解决上述 问题。它采用了类似于 Ruby on Rails 框架的开发方式,并使用Groovy 语言作为开发语言 ,使得程序代码简洁,并可以通过 Grails 本身提供的功能方便地将数据服务发布为 JSON 格式。对于很多 Ajax 程序来说,JSON 格式数据相对于 XML 格式更容易在浏览器端解析和 处理。对于完成类似于在线日历这种复杂的 Ajax 应用,jQuery 作为一个功能强大的轻量级 javascript 框架,可以大大简化复杂的 DOM 操作和 javascript 编程。其丰富强大的插件 库更是进一步简化方便了开发工作。本文就将使用jQuery 的 FullCalendar 和 qTip 插件, 来辅助 Web 前端开发。整体构架图,如下图所示:图 1. 构架图

主要步骤本文所涉及的示例程序开发将包含以下主要步骤:使用Grails 创建日程管理相关的页面和服务。