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 ...
随机推荐
- Hdu OJ 5115 Dire Wolf (2014ACM/ICPC亚洲区北京站) (动态规划-区间dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5115 题目大意:前面有n头狼并列排成一排, 每一头狼都有两个属性--基础攻击力和buff加成, 每一头 ...
- 关于git新建本地分支与远程分支关联问题
背景 新建本地分支并推送到远端后,当前分支没有与远端分支关联,每次推送都需要填写一堆信息. 操作 git branch --set-upstream-to=origin/20160928 切换到本地分 ...
- Java 基础知识总结 (四、String)
四.String public final class String extends Object implements Serializable, Comparable<String>, ...
- (转)C#中两个问号和一个问号 ??
小问题难倒很多人.今天发现了这个问题,搜了很长时间才看到记录下. 实例:dt.Columns.Add(firstRow.GetCell(i).StringCellValue ?? string.For ...
- freeCodeCamp:Factorialize a Number
计算一个整数的阶乘 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积. 阶乘通常简写成 n! 例如: 5! = 1 * 2 * 3 * 4 * 5 = 120 /*思路 阶乘等于fo ...
- win8 下 IIS APPPOOL\DefaultAppPool 登录失败的解决方法
来源:网络 添加ASP.NET网站时,选择添加"添加应用程序"连接sql server 2005(2008)可能会报始下的错误:(说明:2005必报错,2008选报错)" ...
- C++ STL中vector(向量容器)使用简单介绍
原文:http://www.seacha.com/article.php/knowledge/cbase/2013/0903/2205.html C++ vector(向量容器)是一个线性顺序结构.相 ...
- ifram,framset 互相调用JS
window.parent.frames["Indexbanner3"].aa(); http://blog.163.com/wenchangqing_live/blog/stat ...
- Jade之条件语句
条件语句 jade支持js中的if/elseif/else语法. jade: - var user = { description: 'foo bar baz' } - var authorised ...
- 【kd-tree】bzoj4154 [Ipsc2015]Generating Synergy
区间修改的kd-tree,打标记,下传. 每次询问的时候,从询问点向上找到根,然后依次下传下来,再回答询问. #include<cstdio> #include<algorithm& ...