SoJpt

1.3 进阶用法

1、Soutils的配置信息都保存在数据库字段的备注属性里如下图:

image.png

    如上,就是SoJComment备注语法,以“,”隔开的为一组,其中备注第一组为备注名称,其他组都是以 “key : value”的形式存在,有以下约定:

    1、当key以 is开头,value 必须为 true/false,在软件中以checkbox形式渲染。

    2、当key为数字时,value 可以为任意字符串,在软件中为option列,如图

image.png

   3、其它可为自定义属性,使用方式见下文

2、可以直接数据库备注字段里定义自己的属性: 如myAttr:gen ,在模板中即可用到.如:

#for(r : recordList)
    #if(r.COLUMN_COMMENT.myAttr == ‘gen’)
    <p>真</p>
    #end 
#end

 模板中提供了内置的

 recordList   // 含有基本的数据库元数据信息
 className    // DIC_USER => DicUser
 tableName    // DIC_USER => DIC_USER
 variableName // DIC_USER => dicUser
 urlModel     // DIC_USER => user
 model        // DIC_USER => dicUser

 案例:dic_user 表 recordList 内容(以脚本启动并点击表时,dos窗口有输出可供参考)如下: 

[
  {
    IS_NULLABLE: 'NOT NULL',   // 或 'NULL',是否可为空
    COLUMN_NAME: 'USER_CODE',  // 字段名称
    COLUMN_TYPE: 'input_text', // 字段对应的 翻译类型
    COLUMN_LENGTH: '100',      // 数据库字段长度
    COLUMN_DEFAULT: 'NULL',    // 数据库默认值
    COLUMN_COMMENT: 
    {
      name: '登录名',       //备注语法第一组内容
      isAdd:'true',        //该字段是否可添加;
      isRequired: 'true',   //该字段是否必填;
      isEdit: 'true',       //该字段是否可编辑;
      isShow: 'true',       //是否在列表里显示该字段;
      isQuery: 'true',      //是否作为查询条件;
      isSort: 'true',       //是否对该字段进行排序;
      isPassword: 'false',  //是否为密码;
      verify:'userCode',   //自定义
      options: 
      [              
          {
            key: '男',
            value:'1'
          },
          {
            key: '女',
            value:'2'
          }
      ]
    }
  }
  ...
]