# XML说明

在开发的过程当中,后端数据对象需要处理再传给前端,前端数据对象也需要处理再传给后端,这里往往需要建立不同数据对象来进行数据的转换处理。 正式因为这种情况的存在,Hub-Link 采用XML的方式来集中配置,

说明

每个controller.java都会对应一个controller.xml,比如SysUserController.java对应一个SysUserController.xml。

# XML元素

XML中有5个元素,分别是controller、grid、col、collection、search

元素等级

————controller
————————grid
————————————col
————————————collection
———————————————col
————————search
————————————col

# XML元素属性

  • 元素中controller、grid、search中只有一个属性name。

  • 元素中collection属性name、mapper。

  • 元素grid下元素col的属性

prefix,       // name的前缀, 如:prefix = sysUser, name = nm, 输出就是 sysUserNm
name,         // mapper对应的key,输出key
mapper,       // 对象.属性 如:sysUserVo.username
type,         // 通过解析对象属性,反射生成列
typeObj,      // 实体对象名称
descr,        // 列描述 
viewOrder,    // 列排序,如果写,默认按顺序排序,如果解析类对象,按照英文首字母排序
handler,      // 处理器,多个处理器用分号(";")隔开
toName,       // 如果通过处理器想生成另一个map属性
toDescr,      // 如果通过处理器想生成另一个map属性描述
enCls,        // 枚举类
  • 元素search下col元素的属性
name,         // 查询的key
mapper,       // 表名.字段 如:t_sys_user.username
type,         // 通过解析对象属性,反射生成列
descr,        // 列描述 

# XML例子

<controller name="SysUserController">

    <grid name="INFO">
        <col type="yui.bss.sys.vo.SysUserVo" />
    </grid>

    <grid name="EXPT0">
        <col name="username" mapper="sysUserVo.username" descr="登录名" />
        <col name="email" mapper="sysUserVo.email" descr="邮件" />
        <col name="type" mapper="sysUserVo.type" descr="类型" 
            handler="enCls(yui.bss.sys.en.SysUserEn.Type, false)"/>
        <col name="rmks" mapper="sysUserVo.rmks" descr="备注" />
    </grid>
    
    <grid name="EXPT">
        <col name="username" mapper="sysUserVo.username" descr="登录名" />
        <col name="email" mapper="sysUserVo.email" descr="邮件" />
        <col name="type" mapper="sysUserVo.type" descr="类型"
            enCls="yui.bss.sys.en.SysUserEn.Type|false"/>
        <col name="rmks" mapper="sysUserVo.rmks" descr="备注" />
    </grid>

    <grid name="IMPT">
        <col name="username" mapper="sysUserVo.username" descr="登录名" />
        <col name="email" mapper="sysUserVo.email" descr="邮件" />
        <col name="type" mapper="sysUserVo.type" descr="类型"
            enCls="yui.bss.sys.en.SysUserEn.Type"/>
        <col name="rmks" mapper="sysUserVo.rmks" descr="备注" />
    </grid>
    
    <grid name="IMPT_ERR">
        <grid name="IMPT" />
        <col name="ie" mapper="sysUserVo.ie" descr="错误信息" />
    </grid>

    <search name="QUERY">
        <col type="yui.bss.sys.vo.SysUserVo" />
    </search>
    
    <grid name="GRID">
        <col name="username" mapper="sysUserVo.username" descr="登录名" />
        <col name="email" mapper="sysUserVo.email" descr="邮件" />
        <col name="type" mapper="sysUserVo.type" descr="类型" />
        <col name="rmks" mapper="sysUserVo.rmks" descr="备注" />              
    </grid>
    
    <search name="SEARCH">
        <col name="username" mapper="t_sys_user.username" />
        <col name="email" mapper="t_sys_user.email" />
        <col name="type" mapper="t_sys_user.type" />
        <col name="rmks" mapper="t_sys_user.rmks" />
    </search>

</controller>

说明

  • 通过XML对返回SysUserDto结果进行解析输出。

  • grid中可以包含其他grid,即继承关系。

  • col支持两种模式。一:通过对实体类进行解析,二:通过定制配置。

  • 枚举类处理器,定制配置可以通过下面三种形式

    handler="enCls(yui.bss.sys.en.SysUserEn.Type, false)" 只输出描述

    enCls="yui.bss.sys.en.SysUserEn.Type|false" 只输出描述

    enCls="yui.bss.sys.en.SysUserEn.Type" 输出值和描述

赞助商