上个月连续加班了一个月,项目是用wicket+spring+ibatis做的。做这个项目之前,对wicket的了解也只是一点点而已。不过做完这个项目之后,终于对wicket的应用有些了解。趁现在手头上没什么重要的事情,就记录下笔记。
wicket基础应用(1)--使用wicket对表单中的数据进行验证
举个例子:
1、有一个Java文件SysChargeEdit.java以及SysChargeEdit.html,里面有一个表单需要验证
html代码如下:
- < span style = "color: red;" wicket:id = "feedBack" > 错误提示信息 </ span > <!--注意:这里的是用来显示错误信息的-->
- < form wicket:id = "form" >
- < table border = "0" cellspacing = "2" cellpadding = "1" >
- < tr >
- < td align = "right" > 收费代码: </ td >
- < td > < input type = "text" wicket:id = "txtChargeCode" > < font
- color = "red" > * </ font > </ td >
- </ tr >
- < tr >
- < td align = "right" > 收费说明: </ td >
- < td > < input type = "text" " wicket:id = "txtChargeHint" > </ td >
- </ tr >
- </ table >
- </ form >
- public SysChargeEdit() {
- this .add( new FeedbackPanel( "feedBack" )); //用来显示错误信息
- Form form = new Form( "form" ) {
- @Override
- protected void onSubmit() {
- // TODO Auto-generated method stub
- }
- };
- this .add(form);
- final TextField txtChargeCode = new TextField( "txtChargeCode" , chargeCodeModel);
- txtChargeCode.add(StringValidator.lengthBetween(0 , 20 )); //验证txtChargeCode控件的长度大于0,小于20
- txtChargeCode.setRequired(true ); //验证txtChargeCode控件不能为空
- form.add(txtChargeCode);
- TextField txtChargeHint = new TextField( "txtChargeHint" , chargeHintModel);
- form.add(txtChargeHint);
- }
public SysChargeEdit() {
this.add(new FeedbackPanel("feedBack"));//用来显示错误信息
Form form = new Form("form") {
@Override
protected void onSubmit() {
// TODO Auto-generated method stub
}
};
this.add(form);
final TextField txtChargeCode = new TextField("txtChargeCode", chargeCodeModel);
txtChargeCode.add(StringValidator.lengthBetween(0, 20));//验证txtChargeCode控件的长度大于0,小于20
txtChargeCode.setRequired(true);//验证txtChargeCode控件不能为空
form.add(txtChargeCode);
TextField txtChargeHint = new TextField("txtChargeHint", chargeHintModel);
form.add(txtChargeHint);
}
2、在这里需要在这个SysChargeEdit类的同一目录下放置一个properties文件:SysChargeEdit.properties(注意:properties文件一定要同Java文件同名)
文件内容如下:
- form.txtChargeCode.Required =收费代码不能为空
- form.txtChargeCode.StringValidator.range =收费代码的长度能超过20个字符
form.txtChargeCode.Required=收费代码不能为空
form.txtChargeCode.StringValidator.range=收费代码的长度能超过20个字符
在这里要注意的是:
form.txtChargeCode这个是有层次关系的。form和txtChargeCode是html页面的wicket:id,form是txtChargeCode父控件
在这里在eclipse环境下需要下载一个编辑properties文件的插件,插件地址:http://propedit.sourceforge.jp/eclipse/updates/ ,选择properties editor安装
需要经过这个插件编辑过的properties文件在运行的时候错误信息才能显示正常
3、相关的验证控件的资料
见下图