wicket是一个java web框架,用html描述ui,并将具有特殊标记的html元素定义为ui控件,在java类中通过操作这些ui控件以控制其输出行为和样式等.
下面通过一个项目实例来简单学习一下wicket中的数据绑定.
1.创建名称为wicket-demo的web项目,并导入必须的jar包.
2.创建java类,直接看代码UserDisplay.java.
在java类中,UserDisplay的构造方法接收一个User,User被转换成了界面需要的数据Model UserDisplayModel,同时通过如下代码
Form<UserDisplayModel> form = new Form<UserDisplayModel>("form", new CompoundPropertyModel<UserDisplayModel>(userDisplayModel));
将UserDisplayModel绑定到了Form控件上.注意:Form表单下的子控件的id如果正好为UserDisplayModel中的属性,那么wicket会将UserDisplayModel
中此属性的数据绑定到此控件上.
3.创建html模板,直接看代码UserDisplay.html.
4.创建Application的实现类.
通过Application类中的getHomePage方法可以定义用户请求时的默认页面,直接看代码WicketApplication.
在WicketApplication类中,通过getConfigurationType方法设置了项目的运行状态为开发模式.
5.配置web.xml,在web.xml文件中为wicket的入口配置映射,其实wicket就像struts一样,通过filter截获请求,
然后将截获的请求交给Application的实现类处理,从而跳转到Application实现类里配置的默认页面.
6.完成上面的步骤后,部署wicket-demo项目并启动,就可以通过http://127.0.0.1:8080/wicket-demo/w/ 地址访问了.
在填写完简历后,点击save按钮,通过setResponsePage(new UserDisplay(user));跳到他页面.
注意:因为我们的User中的字段和User展示页面上的控件不是一一对应的关系,所以我们通常需要在页面和实体之间再加一层model,
用来实现从页面控件到实体,从实体到页面控件之间的转换.
下面通过一个项目实例来简单学习一下wicket中的数据绑定.
1.创建名称为wicket-demo的web项目,并导入必须的jar包.
2.创建java类,直接看代码UserDisplay.java.
在java类中,UserDisplay的构造方法接收一个User,User被转换成了界面需要的数据Model UserDisplayModel,同时通过如下代码
Form<UserDisplayModel> form = new Form<UserDisplayModel>("form", new CompoundPropertyModel<UserDisplayModel>(userDisplayModel));
将UserDisplayModel绑定到了Form控件上.注意:Form表单下的子控件的id如果正好为UserDisplayModel中的属性,那么wicket会将UserDisplayModel
中此属性的数据绑定到此控件上.
3.创建html模板,直接看代码UserDisplay.html.
4.创建Application的实现类.
通过Application类中的getHomePage方法可以定义用户请求时的默认页面,直接看代码WicketApplication.
在WicketApplication类中,通过getConfigurationType方法设置了项目的运行状态为开发模式.
5.配置web.xml,在web.xml文件中为wicket的入口配置映射,其实wicket就像struts一样,通过filter截获请求,
然后将截获的请求交给Application的实现类处理,从而跳转到Application实现类里配置的默认页面.
6.完成上面的步骤后,部署wicket-demo项目并启动,就可以通过http://127.0.0.1:8080/wicket-demo/w/ 地址访问了.
在填写完简历后,点击save按钮,通过setResponsePage(new UserDisplay(user));跳到他页面.
注意:因为我们的User中的字段和User展示页面上的控件不是一一对应的关系,所以我们通常需要在页面和实体之间再加一层model,
用来实现从页面控件到实体,从实体到页面控件之间的转换.