Grails和Vaadin集成开发
1、 建立Grails应用grails create-app hello
2、 进入应用目录
cd hello
3、 建立领域类
grails create-domain-class Person
4、 编辑领域类,添加属性
package hello class Person { static constraints = { } String name Integer age }
5、 生成Person领域类的所有层
grails generate-all hello.Person
6、 启动grails应用,测试应用
grails run-app
7、 在浏览器中访问grails应用
http://localhost:8080/hello
8、 至此,还没有加入vaadin的内容,只是grails的,下面开始增加vaadin作为ui
9、 先要停止grails应用,control-c
10、 将vaadin的jar包加入hello应用的lib目录
11、 使用groovy编写vaadin应用
package hello import com.vaadin.ui.* import com.vaadin.data.* import com.vaadin.data.util.* class VaadinApp extends Application { void init() { def window = new Window(“Hello Vaadin and Grails!”) def label = new Label(“Vaadin and Grails Application running.”) window.addComponent label setMainWindow window } }
12、 发布vaadin UI应用
在grails应用的src/groovy目录下,建立一个新的servlet
package hello import javax.servlet.ServletException import javax.servlet.http.HttpServletRequest import com.vaadin.Application class VaadinAppServlet extends com.vaadin.terminal.gwt.server.AbstractApplicationServlet{ @Override protected Class <? Extends Application> get ApplicationClass() throws ClassNotFoundException{ return VaadinApp.class } @Override protected Application getNewApplication(HttpServletRequest request) throws ServletException { return new VaadinApp() } }
13、 下面需要在web.xml中配置这个新的servlet
14、 安装grails的模板文件
grails install-templates
15、 打开位于src/templates/war目录下的web.xml
16、 加入下述内容:
<servlet> <servlet-name>VaadinServlet</servlet-name> <servlet-class>hello.VaadinAppServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>VaadinServlet</servlet-name> <url-pattern>/VAADIN/*</url-pattern> </servlet-mapping>
17、 现在可以启动grails应用了
grails run-app18、访问应用的vaadin界面
http://localhost:8080/hello/VAADIN
19、备注
对于使用grails 2.0,可以进入grails的命令环境,在增加了vaadin的jar包后,需要退出命令环境,重新进入才行。