1.1  概述

业务逻辑模块主要用于编写业务逻辑,一般包含三个子模块:action(定义action和procedure)、code(业务逻辑的实现,一般使用java实现,有src,dsrc,lib)、fn(函数定义)。

1.2  Action定义

  • 语法:
<action name=" n" global="true" log-enabled="true" procedure=" ">
		<参数访问权限 name=" " type=" "/>
		……
</action>
  • 说明:

name:action的名称。

global:标识当前action是否是全局的。

log-enabled:标识当前action是否需要记录日志。

procedure:关联的procedure名称。

参数节点:声明参数。参数访问权限包括:private,私有,表示只能在action声明时赋值;protected,保护的,表示可以在process中has-action时赋值;public,公共的,可以接受前台传入的值;permission,权限参数,只能从组织机构上传权限的值

参数节点上的属性:name属性:参数名;type属性:参数类型;value属性:参数的默认值;required属性:标识参数是否必须的;class属性:当type是Object时,可以指定具体的Java类为参数类型。

  • 示例:
<action name="startProcessAction" global="true"
	log-enabled="true" procedure="startProcessProcedure">
		<public name="process" type="String"/>
		<public name="attributes" type="Map"/>
		<public name="control" type="Object"/>
		<private name="tokens" type="List"/>
</action>

 

1.3   Procedure定义

  • 语法:
<procedure name="" code-model="" code="">
<parameter name="" type=""/>
……
</procedure>
  • 说明

name:名字。

code:对应的Java,必须指向某个类的静态方法。

code-model:Java代码所在的模块,如果没有指定,默认指向当前模块。

parameter标签:表示一个参数,name属性表示参数名,type属性表示参数类型。parameter节点的个数必须与相应的Java静态方法中的参数个数一致,且Java静态方法中的参数按顺序进行绑定。

  • 示例:
<procedure name="bizCreateProcedure"
		code-model="/system/logic/code"
		code="BizProcedure.create">
			<parameter name="table" type="Table"/>
			<parameter name="concept" type="String"/>
			<parameter name="defaultValues" type="Map"/>
			<parameter name="fnModel" type="String"/>
</procedure>

 

1.4   Fn定义

  • 语法:
<fn name="" category="" code-model="" code="" type="">
		<label language="zh_CN"></label>
<parameter name="" type=""/>
		……
</fn>
  • 说明:

name:fn的名称。

category:分类,用于studio显示。

code-model:Java代码所在的模块,如果没有指定,默认指向当前模块。

code:对应的Java,必须指向某个类的静态方法。

type:返回数据的类型。

parameter标签:参数,name属性表示参数名,type属性表示参数类型。

  • 实例
<fn name="toString" category="通用函数"
code-model="/system/logic/code"
code="CommonFn.toString" type="String">
			<label language="zh_CN">转换为字符串</label>
			<parameter name="obj" type="Object"/>
</fn>

 

1.5   Java代码

Java代码是业务逻辑的实现技术,它主要存放在code模块下,code模块下一般包括以下几个子模块:src、dsrc、classes、dclasses、lib和slib。

src模块:定义静态Java,此模块下的Java必须经过编译才能使用。

dsrc模块:定义动态Java,此模块的Java不需要编译,运行时会自动编译,运行时允许修改;此模块的Java不允许有包名。

lib模块:定义jar文件。

slib模块:定义加密的jar文件。

classes模块:src编译的结果。

dclasses模块:dsrc编译的结果。

在Java代码中,引用别的code模块中的Java类时(同一code模块下的代码可以直接使用),除了必须使用Java的import语法之外,当前code模块必须引用(use或include)对应的code模块,例如:“/demo/logic/code”模块下的某个Java类(无论是src、dsrc、lib或slib子模块中的)需要引用“/demo/common/code”模块下的类“com.justep.demo.CommonUtils”时,必须在“/demo/logic/code”模块中引用“/demo/common/code”模块,即在model.config.xml文件中包括以下的语句:

<use>/demo/common/code</use>

 

本文由WeX5君整理,WeX5一款开源免费的html5开发工具H5 App开发就用WeX5!

阅读其他app 开发相关文章:http://doc.wex5.com/?p=3443