Cwin1.0:从此告别简单烦人的CURD与查询、分页、排序!!

Cwin的全称为Core Window,开发基于JDK1.5。对于已有系统,Cwin是一个便捷实用的CRUD插件。可以嵌入在任何支持Servlet的Java Web应用中。对于中小型应用而言,Cwin可作为系统的基础架构。Cwin可以大大减少简单繁杂的劳动,从而将精力放在核心业务的开发上来。因为使用Cwin完成功能将不需要编写任何的代码(XML配置除外)。
Cwin的核心概念是Window。那么,什么是一个Window呢?比如一个User的查询与编辑功能就可以配置为一个Window。这个Window将可以完成User的CURD操作。包含查询、排序、分页展示、验证等等完备的功能。

Cwin的目的,为了使Java的Web开发人员能从这些简单繁杂的劳动中解脱出来。比如单表操作、简单的基础数据维护操作、数据查询操作。我们都知道这些功能都很简单,但是麻雀虽小,五脏(CRUD四个操作、加上验证、分页、查询等等)俱全,这些工作是系统中是很让人头疼的部分,因为大部分代码都在COPY或者使用代码生成器生成。开发人员哼哧哼哧弄完之后还得对功能进行各种测试。而Cwin力图使这些操作完全地自动化。事实上,现在Cwin已经可以在不写入任何代码的情况下自动配置好这些功能。

 

另外:Cwin也有一些不错的特性:

1.    使用简单:表与字段定义在一个XML文件中。通过ID访问。


2.    功能全面:对HTML控件全面的支持:Cwin支持大部分的HTML控件配置与在线编辑器(fckeditor)的配置、文件上传。


3.    自动的输入检查。验证条件可以比较灵活地配置。即使您不设置任何的条件Cwin也会根据数据库的字段属性进行输入检查。

 

4. Cwin多种的列输出配置,hidden(面对长字段可以隐藏不在表格中展示,因为表格装不下那么长),pop(面对长字段,可以让经以POP方式跳出 来),link:可以通过此列链接到其它的功能,这个功能非常地实用。None:在表格中不显示此列,比如主键列。


5.    灵活性:Cwin可以使用URL对每一个页面单独进行引用。Cwin支持动态URL的配置。这样Cwin中配置的Window也可以通过URL得以嵌入在其实比较复杂的功能中。


6.    贴心小特点:
A.    对于Value-Desc方式的值。比如用户表的用户类型字段。Cwin在表格展示时自动展示为Desc而不是得对照数据字典才能慬的Value。


B.    Window可以动态接收参数作为window的条件与默认值。比如我们现在有一个Window:user。现在我需要有一个功能,按用户类型编辑用户。就可以加入参数 类似userType=value。即可。


C.    Cwin支持系统变量的插入。默认的系统变量只有一个:_CWIN_SYS_TIME(系统时间)。我们在Window user中可以使用到他。因为user的CreateTime需要记录系统时间。modifyTime也需要记录修改时间。如果用户有其它的系统变量,比如操作人。那么用户将需要扩展Cwin的一个类。覆盖某个方法即可。


D.    Cwin统一地管理各种与此下拉列表与HTML控件。从此不必在各个页面之间COPY下拉列表了。也不必COPY各个字段的验证代码了。使用代码类似于:

<select name="userType" ref="user.type">

 注意ref属性。


E.    如果您使用Cwin。那么Cwin的配置文件可以作为一份不错的数据库文档。因为修改的每一个字段都必须修改配置文件才能得到体现。这样,这份文档总是最新的!

 

不多浪费时间。直接上配置文件,有经验的大大们一看这配置文件应该都知道是啥意思了。

一个table配置:

<table id="user_demo">
    <field name="id" desc="ID" validType="int" isKey="true">
        <input type="hidden"/>
    </field>
    <field name="login_name" desc="登录名" validType="signName" order="login_name" cond="like">
        <output dispMode="link" href="cwin?_CWIN_ID=user_demo&_CWIN_ACTION=show&id=[id]" target="_blank"/>
        <comment>请输入正确的登录名</comment>
    </field>
    <field name="email" desc="电子信箱" validType="email" order="email" cond="like">
        <comment>请输入正确的电子信箱</comment>
    </field>
    <field name="password" desc="密码" minLen="6" maxLen="20">
        <comment>请输入符合要求的密码,6--20位长</comment>
    </field>
    <field name="type" desc="用户类型">
        <input type="select"/>
        <options>
            <option desc="管理员" value="1"/>
            <option desc="普通用户" value="0"/>
        </options>
    </field>
    <field name="create_time" desc="创建时间" validType="date">
        <comment>请输入正确的时间</comment>
    </field>
    <field name="intro" desc="个人说明" general="false">
        <input type="fckeditor" cols="870" rows="195"/>
        <output dispMode="pop"/>
    </field>
  </table>

 不用紧张,这个配置文件不需要您一行行来写的,Cwin会帮您生成基础配置。

一个window的配置:

<window id="user_demo_1" table="user_demo" type="popular" function="query,add,update">
	<desc>用户管理中心</desc>
	<fields>
		<field name="id"/>
		<field name="login_name"/>
                <field name="type"/>
		<field name="create_time"/>
		<field name="intro"/>
	</fields>
	<grid pageSize="20"/>
	<extra>
		<output desc="blog" dispMode="link" href="http://sunarrow.iteye.com/"/>
	</extra>
	<limits>
		<limit name="type" value="0"/>
	</limits>
</window>

 一个SQL查询Window的配置:

<window id="user_demo_and_ex" type="grid" function="query">
	<desc>用户以及他的扩展信息(SQL查询)</desc>
	<fields>
		<field ref="user_demo.id" isKey="true" fullName="u.id"/>
		<field ref="user_demo.login_name" cond="like" fullName="u.login_name"/>
		<field ref="user_demo.type" order="u.type"/>
		<field ref="user_demo.email"/>
		<field ref="user_demo.intro"/>
		<field ref="user_demo_ex.real_name" cond="like" fullName="ex.real_name"/>
		<field ref="user_demo_ex.tel"/>
		<field ref="user_demo_ex.address"/>
		<field ref="user_demo_ex.postcode"/>
	</fields>
	<extra>
		<output desc="BLOG" title="请帮忙多发些评论啊!" dispMode="link" href="http://sunarrow.iteye.com?id=[id]"/>
	</extra>
	<sql>select u.id,u.login_name,u.email,u.type,u.intro,ex.real_name,ex.tel,ex.address,ex.postcode from user_demo u left join user_demo_ex ex on (u.id = ex.id)</sql>
</window>

有关详细的说明请下载Cwin,其中包含了DEMO与详细的用户手册。

 

或许可以到 作者的BLOG 了解信息。

 

有建议与问题欢迎交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值