)----编辑表单建模

1. 建模语言的选型anno+html...不是uml 1

2. 指定显示模板 @BeanEditForm(tmplt="c:/edit.html") 1

3. 配置属性的@Property(lable=”xxx”)显示 2

4. 配置属性的显示控件方式@DataType(value=DataTypeConstants.select,datasource="c:/cate.htm") 2

5. 配置id不显示@NonVisual 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

9. 数据转换组件TimeConverterO7 4

10. 参考 4

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

email

–

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)----编辑表单建模的更多相关文章

  1. atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表

    atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表 1. 建模在后自动建表 1 1. 传统上,需要首先建表,在业务编码.. 1 2. 模型驱动建表---更多简化法是在建 ...

  2. atitit.提升开发效率---mda 软件开发方式的革命--(2)

    atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包含: 1 2. 一个完整的MDA应用程序包含: 1 3. MDA能够带来的最大的三个好处是什么? 2 ...

  3. atitit.提升开发效率---mda 软件开发方式的革命

    atitit.提升开发效率---mda 软件开发方式的革命 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和其实现相分离 2 3. 目前的问题模型和代码不同步 2 4. MD ...

  4. atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表

    atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表 1. 建模在后自己主动建表 1 1. 传统上,须要首先建表,在业务编码.. 1 2. 模型驱动建表---很多其它 ...

  5. atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模

    )----列表查询建模 1. 配置条件字段@Conditional 1 2. 配置条件字段显示类型为range----@Conditional(displayType = displayType.ra ...

  6. atitit.提高开发效率---mda 革命性的软件开发方法

    atitit.提高开发效率---mda 革命性的软件开发方法 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和事实上现相分离 2 3. 眼下的问题模型和代码不同步 2 4.  ...

  7. Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结

    Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结 1. 管道抽象 1 2. 层次结构抽象(json,xml etc) 1 3. 异步抽象promise 1 4. Ide ...

  8. atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较

    atitit.提升开发效率---使用服务器控件生命周期  asp.net 11个阶段  java jsf 的6个阶段比较 如下列举了服务器控件生命周期所要经历的11个阶段. (1)初始化-- --在此 ...

  9. atitit.提升开发效率---动态语言总结

    atitit.提升开发效率---动态语言总结 ruby,python 都不错,就是语法不好, 应用不广泛,文档,工具都非常少,不推荐... php狠不错,就是高级特性不行.. 看来子有.net/jav ...

随机推荐

  1. Hdu OJ 5115 Dire Wolf (2014ACM/ICPC亚洲区北京站) (动态规划-区间dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5115 题目大意:前面有n头狼并列排成一排, 每一头狼都有两个属性--基础攻击力和buff加成, 每一头 ...

  2. 关于git新建本地分支与远程分支关联问题

    背景 新建本地分支并推送到远端后,当前分支没有与远端分支关联,每次推送都需要填写一堆信息. 操作 git branch --set-upstream-to=origin/20160928 切换到本地分 ...

  3. Java 基础知识总结 (四、String)

    四.String public final class String extends Object implements Serializable, Comparable<String>, ...

  4. (转)C#中两个问号和一个问号 ??

    小问题难倒很多人.今天发现了这个问题,搜了很长时间才看到记录下. 实例:dt.Columns.Add(firstRow.GetCell(i).StringCellValue ?? string.For ...

  5. freeCodeCamp:Factorialize a Number

    计算一个整数的阶乘 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积. 阶乘通常简写成 n! 例如: 5! = 1 * 2 * 3 * 4 * 5 = 120 /*思路 阶乘等于fo ...

  6. win8 下 IIS APPPOOL\DefaultAppPool 登录失败的解决方法

    来源:网络 添加ASP.NET网站时,选择添加"添加应用程序"连接sql server 2005(2008)可能会报始下的错误:(说明:2005必报错,2008选报错)" ...

  7. C++ STL中vector(向量容器)使用简单介绍

    原文:http://www.seacha.com/article.php/knowledge/cbase/2013/0903/2205.html C++ vector(向量容器)是一个线性顺序结构.相 ...

  8. ifram,framset 互相调用JS

    window.parent.frames["Indexbanner3"].aa(); http://blog.163.com/wenchangqing_live/blog/stat ...

  9. Jade之条件语句

    条件语句 jade支持js中的if/elseif/else语法. jade: - var user = { description: 'foo bar baz' } - var authorised ...

  10. 【kd-tree】bzoj4154 [Ipsc2015]Generating Synergy

    区间修改的kd-tree,打标记,下传. 每次询问的时候,从询问点向上找到根,然后依次下传下来,再回答询问. #include<cstdio> #include<algorithm& ...