Vaadin较早以前就知道这个框架了,从Vaadin6一直关注到现在的版本7,发现有较大的改变,可惜一直在工作中没机会使用。
虽然没机会在工作中使用,但觉得这个框架还是挺不错的,但在国内好像使用的人相当的少,今天突然发现在官网竟然有
中文讨论区了,也许这个框架开始向中国发力了,呵呵。得好好学习一下,同时也希望能找到一些学习这个框架的朋友。
首先,IDE的安装,磨刀不误砍材功嘛,个人喜欢SpringIDE的安装,直接下载SpringIDE,然后安装插件
- Eclipse 3.5 and newer: http://vaadin.com/eclipse
- Eclipse 3.4: http://vaadin.com/eclipse/3.4
一切就绪,生成一个HolloWorld玩玩,呵呵,生成后发现最新的插件使用的Servlet3.0的特性,使用了注解
@SuppressWarnings("serial")
@Theme("helloworld")//标注使用皮肤
public class HelloworldUI extends UI {
//注册Servlet,并且标支持异步
@WebServlet(value = "/*", asyncSupported = true)
//配置Vaadin,使用productionMode标注是否为产品模式,并且配置默认提供的UI服务类为HelloworldUI
@VaadinServletConfiguration(productionMode = false, ui = HelloworldUI.class)
public static class Servlet extends VaadinServlet {
}
/**
* 初始化调用
*/
@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
Button button = new Button("Click Me");
button.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
layout.addComponent(new Label("Thank you for clicking"));
}
});
layout.addComponent(button);
}
}
呵呵,当然如果你不喜欢这种标注特性也可以在Web.xml中配置
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>myproject</display-name>
<context-param>
<description>Vaadin production mode</description>
<param-name>productionMode</param-name>
<param-value>false</param-value>
</context-param>
<servlet>
<servlet-name>Myproject UI</servlet-name>
<servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
<init-param>
<description>Vaadin UI class to use</description>
<param-name>UI</param-name>
<param-value>com.zensoft.vaadin.HelloworldUI</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Myproject UI</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>