XForms设计器----模型管理

在模型视图中进行模型管理。javascript

clip_image0411_thumb1

 

模型配置

clip_image0421_thumb1

属性名称html

描述前端

Schemajava

一个模型能够有多个schema文件,开发人员能够经过schema文件选择器选择多个文件,若是手动录入,则多个schema文件以空格分隔;文件的位置为相对于WebContent目录的绝对路径。node

schema文本git

模型的schema文本,必须是完整的schema文件内容web

标识spring

模型的ID,是运行时访问模型的重要配置json

名称空间后端

模型全部的名称空间列表,从schema文件或schema文本中抽取

注意:所配置的schema文件须要同步到gforms服务器上,而且须要在运行时配置文件config.properties中配置appURL,不然会报以下错误:

clip_image0431_thumb1

详细参考《GForms FAQ》文档。

 

建立模型

在模型树的根节点或模型视图的工具栏中均可以进行模型的建立:

>模型树根节点

clip_image0441_thumb1

>模型视图工具栏

clip_image0451_thumb1

模型的建立包含三种方式:

  • 建立空模型:将建立一个只包含ID的空模型,模型下不包含任何模型实例、绑定、动做等信息。

  • 从XML建立模型:将建立一个包含ID的模型,模型下面建立一个从XML数据所构建的模型实例。

  • 从schema建立模型:建立一个模型,而且在模型下建立一个根据所选择的schema构建的模型实例及schema中的数据类型绑定。

 
一、从XML创模型

clip_image0471_thumb1

在弹出的对话框中粘贴须要建立模型的XML数据片断,XML数据片断能够有根元素,也能够没有。

点击“OK”后,所建立的模型位于模型树中,并在模型下方有模型实例:

clip_image0481_thumb1

并能够在模型实例视图中看到instance2模型实例。

clip_image0501_thumb1

二、从schema创模型

GForms设计器支持从schema建立模型:

》第一步:输入schema文本

clip_image0521_thumb1

schema文件文本以下:

<xs:schema xmlns:my="http://commerce.example.com/payment" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://commerce.example.com/payment" elementFormDefault="qualified">

<xs:element name="payment">

<xs:complexType>

<xs:sequence minOccurs="0" maxOccurs="unbounded">

<xs:choice>

<xs:element ref="my:cc" />

<xs:element ref="my:exp" />

<xs:element ref="my:expenses" />

</xs:choice>

</xs:sequence>

<xs:attribute name="as" type="my:paymentAs" />

</xs:complexType>

</xs:element>

<xs:element name="cc" type="my:cc" />

<xs:element name="exp" type="xsd:gYearMonth" />

<xs:element name="expenses" type="my:expenses" />

<xs:simpleType name="cc">

<xs:restriction base="xsd:string">

<xs:minLength value="12" />

<xs:maxLength value="19" />

<xs:pattern value="[0-9]+" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="paymentAs">

<xs:restriction base="xsd:string">

<xs:enumeration value="cash" />

<xs:enumeration value="credit" />

</xs:restriction>

</xs:simpleType>

<xsd:simpleType name="expenses">

<xsd:restriction base="xsd:decimal">

<xsd:fractionDigits value="2"/>

</xsd:restriction>

</xsd:simpleType>

</xs:schema>

第二步:选择建立模型的元素

clip_image0531_thumb1

点击“Finish”后,所建立的模型位于模型树中,并在模型下方有模型实例:

clip_image0541_thumb1

能够看到在模型下方有一个模型实例及若干个绑定,绑定的定义从schema文件中抽取元素数据类型做为绑定的数据类型。

并能够在模型实例视图中看到instance2模型实例。

clip_image0551_thumb1

同时,所引入的schema内容将做为所建立的模型的schema文本内容,请选择“model3”,而后在属性视图中能够看到:

clip_image0571_thumb1

注意:模型所引入的schema内容能够做为运行时数据校验的依据,上述schema所建立的模型实例中,若是拖拽as属性到设计器,则默认会构建一个下拉框控件,控件的两个选项为cash、credit;同时在运行时绑定到数据节点instance('instance2')/pay:payment/pay:cc的控件,将校验其长度为12。

 

建立模型实例

在模型树的模型节点右键菜单中能够看到建立模型实例的功能菜单项:

模型的建立包含三种方式:

clip_image0581_thumb1

  • 建立空模型实例:将建立一个只包含ID的空模型实例,模型实例不包含任何XML数据节点。

  • 从XML建立模型实例:将建立一个包含ID的模型实例,模型实例下面建立一个从XML数据所构建的XML数据结构。

  • 从schema建立模型实例:建立一个模型实例,而且在模型实例下建立一个根据所选择的schema构建的XML数据节点结构。

一、从XML建立模型实例

clip_image0601_thumb1

在弹出的对话框中粘贴须要建立模型实例的XML数据片断,XML数据片断能够有根元素,也能够没有。

点击“OK”后,所建立的模型实例位于刚刚所选的模型下:

clip_image0611_thumb

并能够在模型实例视图中看到instance5模型实例。

clip_image0621_thumb1

二、 从schema建立模型实例

GForms设计器支持从schema建立模型实例:

第一步:输入schema文本

clip_image0631_thumb1

schema文件文本参考“从schema建立模型”章节。

第二步:选择建立模型的元素

clip_image0641_thumb1

点击“Finish”后,所建立的模型位于模型树中,并在模型下方有模型实例:

clip_image0661_thumb1

并能够在模型实例视图中看到instance6模型实例。

clip_image0671_thumb1

注意:所引入的schema内容不会做为运行时数据校验的依据,而是仅仅从schema中选择某个的元素来构建一个模型实例,简化模型实例建立,并不会从schema文件中读取任何其余约束信息,如元素数据类型等。

三、 配置模型实例

选择模型树中的某个模型实例节点,在“属性视图”中能够查看或配置模型是的相关配置项,其中src配置项表示模型实例的数据来自于某个文件。

clip_image0681_thumb1

 

建立绑定

能够在模型树中建立绑定,绑定是对某个数据节点的各类约束定义,包括对数据节点定义其的数据类型、只读条件、依赖条件、计算公式、约束配置等。

在模型树的模型节点右键菜单中能够看到建立绑定的功能菜单项:

clip_image0691_thumb

新建绑定后,在模型下方出现新建的绑定,此时在“属性视图”中能够对该绑定进行属性配置,以下图所示:

clip_image0701_thumb1

对于一个绑定,首先要定义其节点,节点能够经过XPath编辑器编辑节点选择的xpath表达式。

属性名称

描述

节点

绑定所定义的数据节点,xpath表达式

必填项约束

xpath表达式,计算结果为布尔值,定义数据节点的required条件,运行时若是知足该条件则引用该绑定的数据节点的控件将展示为必填项

标识

绑定的ID

计算

xpath表达式,计算结果为字符串,定义数据节点的计算公式,表示节点不是由用户输入的,而是根据公式动态计算

类型

节点的数据类型,数据类型包括xpath所定义的数据类型,并包括当前数据模型的schema中的数据结构

相关性约束

xpath表达式,计算结果为布尔值,定义数据节点与其余节点的依赖关系

约束

xpath表达式,计算结果为布尔值,定义数据节点约束条件,运行时若是知足该条件则引用该绑定的数据节点的控件将展示为错误状态

约束消息

只有定义了约束该配置才生效,这样在运行时若是违反该绑定的约束,则会使用该约束消息提示用户,约束消息的构建请参考格式化校验手册。

注意:消息列表来自于全局约束消息集合。

只读

xpath表达式,计算结果为布尔值,定义数据节点只读条件,运行时若是知足该条件则引用该绑定的数据节点的控件将展示为只读状态

浏览

xpath表达式,计算结果为布尔值,定义数据节点浏览态条件,运行时若是知足该条件则引用该绑定的数据节点的控件将展示为浏览状态

配置提示:

l xpath表达式:既能够手动录入xpath表达式,也能够经过xpath编辑器辅助建立xpath表达式。

l 子绑定:绑定下方还能够包含绑定,用于定义父绑定的数据节点的不一样配置项。一般不会使用到子绑定。

clip_image0711_thumb1

 

建立提交submission

提交submission是GForms前端与后端服务交互的桥梁,submission的建立方式为:在模型视图中---》选择模型树---》选择某个须要建立提交的模型—》右键菜单—》“提交”:

clip_image0731_thumb1

clip_image0741_thumb1

新建“提交”后,在模型下方出现新建的提交,此时在“属性视图”中能够对该提交进行属性配置,以下图所示:

clip_image0751_thumb1

对于一个提交,必须定义资源路径,资源路径能够经过xpath定义,也能够指定一个静态的资源路径URL。

属性名称

描述

数据引用(Ref)

绑定所定义提交所提交的数据节点,xpath表达式,可为空

编码

提交时系列化的数据编码,默认为UTF-8

标识

提交的ID,是send动做引用该标识进行动做提交

方法

配置提交的mehtod,可选的有:post、get、put、delete,默认为post

分隔符

默认为&,当“方法”method为get、delete时,提交的资源路径将根据数据将进行编码构建。

如提交的数据为:<input3>test</input3>,资源URL为:http://localhost:8080/test/weather,则实际提交的资源URL为:

http://localhost:8080/test/weather?input3=test

介质类型

提交到后台的请求头Accept(方法为get、delete时)或Content-Type(方法为Post、put时)内容,可选的有:application/xml、text/xml、application/json、text/json、application/x-www-form-urlencoded、application/soap+xml,默认为application/xml

模式(mode)

提交方式,可选的同步、异步,默认为异步

目标绑定

xpath表达式,当提交数据返回时,须要替换的目标模型实例节点,当“替换”为“实例”、“文本”时该配置有效,不然无效。

实例

提交数据返回时,须要替换的目标模型实例(当“替换”配置为模型实例时有效)。注意:该配置不会对提交的数据产生任何约束,若是要提交模型下非默认模型实例到后端,则请配置ref为那个非默认模型实例的xpath便可

替换

当提交数据返回时,处理方式:所有、实例、文本、空,默认为所有,其中:

所有:表示响应数据将替换当前页;

实例:表示将使用响应信息替换某个模型实例;

文本:表示将把响应信息做为文本添加到某个模型实例节点;

无:表示不做任何处理。

相关性约束

是否须要提交relevant属性为false的数据节点,默认为false,表示提交全部节点(relevant是经过配置节点的绑定relevant相关属性)

校验

是否对提交到数据进行校验,若是校验失败则提交失败并抛出xforms-submit-error事件

系列化

XML模型实例系列化类型,,可选的有:application/xml、application/x-www-form-urlencoded、multipart/related 、multipart/form-data 、none,默认为application/xml

资源XPath

提交的后端服务URL路径,经过XPath动态从模型实例中获取

资源值

提交的后端服务URL路径,若是配置了“资源XPath”则运行时忽略该配置

soap action

资源URL为web服务时有用

配置提示:

  • 相关性约束:若是配置为true则表示当系列化须要提交的模型实例或模型实例节点时,将把那些配置了绑定属性relevant的数据节点,若是计算relevant为false,则该节点将不被系列化。

  • 介质类型:若是后端服务依赖于所传递前端所发送的Accept,如spring Restfull,此时当方法为post时,须要格外注意,须要配置replace为instance并配置媒体类型为合适的类型才能实现该目的。

一、submission动做

提交能够包含若干个动做,这些动做的事件只能为:

xforms-submit、xforms-submit-error、xforms-submit-done,事件具体描述请参考“GForms标准事件”。

clip_image0771_thumb1

 

建立动做

操做是GForms平台提供的标准操做,操做建立方式为:在模型视图中---》选择模型树---》选择某个须要建立动做的模型—》右键菜单—》“动做”:

clip_image0791_thumb2

二、标准动做列表

GForms平台提供的标准动做以下表:

动做

动做描述

reset

把所选择的模型下的全部模型实例的内容进行重置

rebuild

对目标模型的全部模型实例数据结构进行重建:绑定、模型实例等,该操做将把经过XMLUtil工具所设置的节点值绑定到UI

recalculate

从新对目标模型全部的绑定计算器calculate配置属性

revalidate

该操做将对目标模型中的全部的模型实例进行验证处理(包括readonly、是否必须、是否浏览态、合法性校验等)

message

该操做将弹出一个提示信息对话框

setValue

为所选择的模型实例目标节点设置节点内容,该操做执行后,目标数据节点的值将被更新,同时引用目标数据节点的全部控件UI将自动被更新

setFocus

该操做将触发焦点聚焦在目标控件上。

toggle

使用toggle将选择某个case page,也就说toggle操做的目标对象为某个case page。

action

action操做能够组合多个其余操做,从而当action的事件知足时,触发action下的每一个操做进行执行

send

发送操做将触发某个submission执行。

unload

从目标控件卸载资源,其实就是把目标控件的html元素清空,而且若是目标控件是load动做的容器,则会把subform也销毁

load

加载资源到当前页面,该资源能够是任何的资源,如html或另一个GForms页面等。

setindex

该操做执行的目标对象为Repeater或Table控件,将选中目标控件的某行,行号从1开始。

delete

删除操做将从数据集合中删除指定位置的记录。

insert

该操做把某些现有节点或目标nodeset的最后一个节点添加到目标nodeset的父节点中

dispatch

用于向目标分发某个具体的事件

script

调用执行javascript,包括javascript原始代码,如alert等,同时也支持调用javascript函数。

建立操做后,能够在“属性视图”中配置各个操做的具体配置信息:

clip_image0801_thumb1

具体每一个动做的配置请参考“GForms操做”部分具体解释。

配置提示:

l 在模型实例树中配置的动做将做为全局动做,而在控件中所配置的动做则仅仅是针对某个控件的。

l action动做:是一系列动做的集合,全部子动做的事件均与action动做同样。

clip_image0821_thumb1

三、调整动做顺序

在运行时,动做的执行是按顺序进行的,排在前面的将先执行,靠后的后执行,在不少时候,特别是form载入时,须要请求后台数据,而在请求执行可能须要设置一些请求参数,设置数据节点的值有两种方式:

1)为页面配置xforms-init事件,并在事件中经过XML工具设置模型实例相关节点的值。

2)经过标准动做setValue设置数据节点的值,咱们推荐使用该方式,可是须要注意setValue动做的位置,应该放在send动做以前:

clip_image0831_thumb

能够经过动做右键菜单的“上移动做”、“下移动做”实现。

 

删除组件

在模型实例树中能够删除任何提交、绑定、动做、模型实例及模型:

选择要删除的组件,而后右键菜单中点击“删除”便可删除组件。

clip_image0851_thumb

 

 

 

产品联系方式

www.ghpaas.com

电话: 13601178468

Email: ghpaas@163.com

产品资料:百度网盘http://yun.baidu.com/s/1bnznec3#dir/path=%2Fghorse

相关文章
相关标签/搜索