添加一个新建表单

添加一个按钮来弹出新建表单,并创建一个转换来处理输入数据操作。
在FindTutorial.xml文件中添加一个转换。
 <!--新增 列表 -->

    <transition>

        <service-call name="create#Tutorial"/>

        <default-response url="."/>

    </transition>

  

该转换只是调用lecreate#Tutorial服务,然后跳转回当前页面。
Moqui框架的服务门面支持一种特俗的无需定义实现的实体增删改查操作的服务,这个服务的名字由两部分组成:一个动词和一个名词,中间用#隔开/只要动词谓create  update  store delete ,同时名词是一个有效的实体名称,服务门面你就会认为这个服务是个隐式的自动实体服务并会完成预期的操作。这个服务调用时完全基于实体定义和传递的参数。例如:如果你使用create动词并传递实体的一个主键字段,服务就会使用这个主键字段,否则服务就会使用实体名称作为序列关键字自动生成主键序列号。
添加新增表单,当按钮点击时展现一个隐藏的容器界面,在之前创建的FindTutoria界面中添加容器到widget元素内的form-list元素上面,这样就会在列表表单上展现这个容器:
<container-dialog id="CreateTutorialDialog" button-text="Create Tutorial">

            <form-single name="CreateTutorial" transition="createTutorial">

                <auto-fields-entity entity-name="Tutorial" field-type="edit"/>

                <field name="submitButton">

                  <default-field title="Create">

                      <submit/>

                  </default-field>

                </field>

            </form-single>

        </container-dialog>

  

这个界面定义通过刚才添加的transition来引用,并且使用auto-fields-entity元素中值为edit的field-type元素定义来自动生成编辑字段,最后声明一个按钮去提交表单,这样就可以运行了。
 
 
自定义新增服务:
上面的CreateTutorial转换使用了隐式的自动实体服务create#Tutorial.
下面实现手动的创建新增服务
首先定义一个服务使用默认的自动实体增删改查实现,
runtime/component/tutorial/service/tutorial/TutorialServices.xml
<container-dialog id="CreateTutorialDialog" button-text="Create Tutorial">

            <form-single name="CreateTutorial" transition="createTutorial">

                <auto-fields-entity entity-name="Tutorial" field-type="edit"/>

                <field name="submitButton">

                  <default-field title="Create">

                      <submit/>

                  </default-field>

                </field>

            </form-single>

        </container-dialog>

  

FindTutorial.xml
<!--自定义新增 -->

  <transition name="createTutorial">

        <service-call name="tutorial.TutorialServices.create#Tutorial"/>

        <default-response url="."/>

    </transition>

  

 
 
Groovy服务:
如果要使用Groovy(或者框架支持的其他语言)而不应内嵌的XML动作去实现服务,怎么做?

<service verb="create" noun="Tutorial" type="script" location="component://tutorial/script/createTutorial.grovvy">

        <in-parameters>

            <auto-parameters include="all"/>

        </in-parameters>

        <out-parameters>

            <out-parameters>

                <auto-parameters include="pk" required="true"/>

            </out-parameters>

        </out-parameters>

    </service>

  

 
柘林的type属性已经变成了市场ripe,并且现在有个location属性去指定脚本的位置
 
Grovvy脚本的内容:
 
EntityValue tutorial=ec.entity.makeValue("Tutorial")

tutorial.setAll(context)

if(!tutorial.tutorialId)tutorial.setSequencedIdPrimary()

tutorial.create()

  

最新文章

  1. 【Alpha版本】冲刺-Day8
  2. java集合 之 set 集合
  3. linux设备树笔记__dts基本概念及语法【转】
  4. jdbc知识问答 分类: 面试 2015-07-10 22:05 5人阅读 评论(0) 收藏
  5. 01_SpringMVC流程架构图
  6. OS X 键盘快捷键
  7. poi 读取word文档
  8. 洛谷P1919 【模板】A*B Problem升级版 题解(FFT的第一次实战)
  9. SVG制作可爱小页面
  10. python猜数字游戏console版本
  11. xxl系列部署启动通用办法
  12. CUDA编程常见问题 转
  13. PHP-自定义数组-预定义数组-自定义函数-预定义函数
  14. 本地缓存之GUAVA
  15. 自己动手实现RPC服务调用框架
  16. nexys4-DDR开发板温度传感器ADT7420U
  17. SpringMVC:学习笔记(5)——数据绑定及表单标签
  18. dotnet 各个版本的下载链接----Download .NET SDKs for Visual Studio
  19. vuejs计算属性和侦听器
  20. 【BZOJ4300】绝世好题(二进制,DP)

热门文章

  1. 非常全面的讲解Hosts文件
  2. c# App.Config详解
  3. SQOOP Load Data from Oracle to Hive Table
  4. [转]ionic Accordion list three levels
  5. [转]ASP.NET MVC 4 (九) 模型绑定
  6. [转]响应式网页设计:rem、em设置网页字体大小自适应
  7. css让浮动元素水平居中
  8. UESTC 912 树上的距离 --LCA+RMQ+树状数组
  9. Tarjian算法求强联通分量
  10. 栈和队列的面试题Java实现【重要】