atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模
)----编辑表单建模
2. 指定显示模板 @BeanEditForm(tmplt="c:/edit.html") 1
3. 配置属性的@Property(lable=”xxx”)显示 2
4. 配置属性的显示控件方式@DataType(value=DataTypeConstants.select,datasource="c:/cate.htm") 2
6. 属性排序@BeanEditForm( reorder="aa,bb") 2
7. 客户端验证 @Validate("required")@Validate("min=18,max=99,msg=’重新输入’") 2
8. 数据转换@com.attilax.anno.Converter(TimeConverterO7.class) 3
1. 建模语言的选型anno+html...不是uml
因为只十个数据建模,马包括流程建模
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. 指定显示模板 @BeanEditForm(tmplt="c:/edit.html")
public class GvMaterial
3. 配置属性的@Property(lable=”xxx”)显示
4. 配置属性的显示控件方式@DataType(value=DataTypeConstants.select,datasource="c:/cate.htm")
DataTypeConstants.time
DataTypeConstants.datetime
DataTypeConstants.file
DataTypeConstants.select
@DataType(value=DataTypeConstants.select,datasource="c:/cate.htm")
5. 配置id不显示@NonVisual
6. 属性排序@BeanEditForm( reorder="aa,bb")
7. 客户端验证 @Validate("required")@Validate("min=18,max=99,msg=’重新输入’")
|
Validator |
Constraint Type |
Description |
Example |
|
|
– |
Ensures that the given input looks like a valid e-mail address |
<t:textfield value="email" validate="email" /> |
|
max |
long |
Enforces a maximum integer value |
<t:textfield value="age" validate="max=120,min=0" /> |
|
maxLength |
int |
Makes sure that a string value has a maximum length |
<t:textfield value="zip" validate="maxlength=7" /> |
|
min |
long |
Enforces a minimum integer value |
<t:textfield value="age" validate="max=120,min=0" /> |
|
minLength |
int |
Makes sure that a string value has a minimum length |
<t:textfield value="somefield" validate="minlength=1" /> |
|
none |
– |
Does nothing (used to override a @Validate annotation) |
<t:textfield value="somefield" validate="none" /> |
|
regexp |
pattern |
Makes sure that a string value conforms to a given pattern |
<t:textfield value="letterfield" validate="regexp=^[A-Za-z]+$" /> |
|
required |
– |
Makes sure that a string value is not null and not the empty string |
<t:textfield value="name" validate="required" /> |
8. 数据转换@com.attilax.anno.Converter(TimeConverterO7.class)
9. 数据转换组件TimeConverterO7
class TimeConverterO7 implements org.apache.commons.beanutils.Converter
public Object convert(Class arg0, Object arg1) {
// attilax 老哇的爪子 5:24:02 AM Jul 19, 2014
try {
return DateUtil.toTimeStamp(arg1, true);
} catch (ParseException e) {
// attilax 老哇的爪子 5:28:07 AM Jul 19, 2014
core.log(e);
;
}
}
10. 参考
Forms and Validation -- Apache Tapestry.htm
atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模的更多相关文章
- atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表
atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表 1. 建模在后自动建表 1 1. 传统上,需要首先建表,在业务编码.. 1 2. 模型驱动建表---更多简化法是在建 ...
- atitit.提升开发效率---mda 软件开发方式的革命--(2)
atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包含: 1 2. 一个完整的MDA应用程序包含: 1 3. MDA能够带来的最大的三个好处是什么? 2 ...
- atitit.提升开发效率---mda 软件开发方式的革命
atitit.提升开发效率---mda 软件开发方式的革命 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和其实现相分离 2 3. 目前的问题模型和代码不同步 2 4. MD ...
- atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表
atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表 1. 建模在后自己主动建表 1 1. 传统上,须要首先建表,在业务编码.. 1 2. 模型驱动建表---很多其它 ...
- atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模
)----列表查询建模 1. 配置条件字段@Conditional 1 2. 配置条件字段显示类型为range----@Conditional(displayType = displayType.ra ...
- atitit.提高开发效率---mda 革命性的软件开发方法
atitit.提高开发效率---mda 革命性的软件开发方法 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和事实上现相分离 2 3. 眼下的问题模型和代码不同步 2 4. ...
- Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结
Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结 1. 管道抽象 1 2. 层次结构抽象(json,xml etc) 1 3. 异步抽象promise 1 4. Ide ...
- atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较
atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较 如下列举了服务器控件生命周期所要经历的11个阶段. (1)初始化-- --在此 ...
- atitit.提升开发效率---动态语言总结
atitit.提升开发效率---动态语言总结 ruby,python 都不错,就是语法不好, 应用不广泛,文档,工具都非常少,不推荐... php狠不错,就是高级特性不行.. 看来子有.net/jav ...
随机推荐
- val()方法
在jquery里面,用val()方法来获取元素的值.有参数就是设置元素的值,没有就是获取元素的值. 参数也可以是一个数组val(array),例如:$(":radio").val( ...
- PHP的OB缓存(输出缓存)
使用PHP自带的缓存机制 原则:如果ob缓存打开,则echo的数据首先放在ob缓存.如果是header信息,直接放在程序缓存.当页面执行到最后,会把ob缓存的数据放到程序缓存,然后依次返回给浏览器. ...
- table的css样式
经常会遇到table中各种线条重复的问题,画面会显得很难看,下面是解决问题的方法: <!Doctype html><html> <head> <meta ch ...
- AsyncTask源码分析
在Android中,主线程是UI线程,当需要根据其他数据进行更新UI时,如果获取数据的操作比较耗时的话,会触发ANR,所以我们应该讲耗时的操作进行异步操作,尤其是请求网络数据的操作应该放在后台线程进行 ...
- MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型
目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...
- sql联合查询多个表
SELECT hp_patient.name, hp_ptorders.DrugName, hp_ptorders.Dosage,hp_ptorders.DosageUnit FROM hp_pati ...
- Linux云服务器安装tomcat
安装tomcat需要安装JDK 1.上传 把下载好的tomcat压缩包(apache-tomcat-7.0.tar.gz)和jdk(jdk-7u76-linux-x64.tar.gz)压缩包上传到/u ...
- mybatis 关联查询 association
<resultMap id="DutyPersonAndFileAndScoreMap" type="com.cares.asis.duty.entity.Duty ...
- 【java】:生成excel
//生成报表公用方法 //excelName: 生成的文件名 //list:时间/日期/描述 //listSelectFiled: 标题 //showContent : 文件内容bean //生成 ...
- (必看)ping值不代表网速
在下售卖美国.香港VPN服务器多年,在于客户的交流中,最多关心的就是ping值速度,认为ping速度越低速度越快,以此来评判一台VPN服务器的速度快慢,这其实是一个误区!现在来详细说明下. 1.pin ...