OFBiz搭建项目详细讲解——Ofbiz表单

本文介绍如何在Ofbiz中实现表单提交功能,并详细解释了表单提交的具体步骤,包括创建表单文件、配置控制器及屏幕组件等。此外,还介绍了如何创建通用装饰器组件来统一页面样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:通过表单提交数据,并在页面显示

           创建公用menu组件,将它应用到表烦页面

一、在表单中提交数据并显示

     1、在(hot-deploy/hello/webapp/hello/)下创建hello.ftl,用来制作表单

         

         parameters是ofbiz提供的一个java.util.Map内置对象,是请求参数的映射,以请求参数名和值为(key,value)

      2、在点击提交后,根据action="/hello/control/test"发送请求,"test"作为uri,进入controller.xml,找相应的元素进行处理。

            在hot-deploy/hello/webapp/hello/WEB-INF/controller.xml中增加一个新的<request-map uri="test">

          

          3、在hot-deplot/hello/widget/HelloScreens.xml中,增加<screen name="testForm" >

              

               <screenlet id="test">:标识名,处理响应的一个表单<form id="test" >,屏幕要引用一个.ftl文件,

                                                    就必须要用<platform-specific>标签,按上图的结构。

            4、测试:

               

                   页面参数显示:嘿嘿


               这里commin后,数据直接从parameters中取得并显示,下面的例子通过创建.groovy脚本文件,

               数据在groovy中经过处理,以供.ftl取值。

          5、在(/hot-deploy/hello/webapp/hello/WEB-INF/actions)下创建testForm.groovy文件

                       

            6、要让tsetForm.groovy起作用,需要在HelloScreens.xml中的<screen name="testForm">模式下配置其路径

                

                <actions>元素包含了预处理动作,就是在执行<widgets>显示页面之前,先执行<actions>中的内容,

                这里是先执行testForm.groovy脚本。

                当终端用户点击提交表单,发送一个请求,根据controller.xml中<request-map>、<view-map>的配置,

                调用“testForm”屏幕时,先执行完<actions>中的所有内容,之后再进入到<widgets>。

               

                测试:

                

                  页面参数显示:赫赫

                  groovy:赫 赫


            7、第二种方式制作表单提交

                  在(/hot-deploy/hello/widget/)下创建HelloForm.xml

                

                 在hot-deploy/hello/widget/HelloScreens.xml中的<screen name="testForm">模块下配置要显示.xml类型的表单,

                 需要在<widgets>中用<include-form>标签导入。

                 

                   配置完之后,访问:https://localhost:8443/hello/control/test,我们看到hello.ftl和HelloForm.xml都显示在一个屏幕上,

                   这表示屏幕是由一个或多个在<widgets>中定义的元素组成的。

                  

三、在这个应用中为屏幕创建公用的装饰器

      1、在(路径:hello/widget/CommonScreens.xml)下创建CommonScreens.xml,这个文件包括公用screens,用来贯穿整个应用。

           

        实际上这个公用装饰器也就是一个屏幕。这个屏幕分为2部分:

       (1)<include-menu>导入一个菜单,指定location和name属性

       (2)<decorator-section-include name="body"/>这是公用屏幕的“body”部分,当用到公用屏幕的时候,可以往“body”这个部分添加

        2、根据hot-deploy/hello/widget/CommonScreens.xml中,<include-menu>location和name属性的设置,

              在(/hot-deploy/hello/widget/)下创建HelloMenu.xml,定义一个菜单

             

              <menu>:name=“MainAppBar”     菜单名

                               title= “”                           菜单的标题

                               extends=“”                     继承                          extends-resource=“”          继承资源的位置

                                       (这两个属性,Ofbiz已经定义好了,继承后只需简单配置,就可以用了)

                    <menu-item>:就是一个菜单项

            3、把公用组件应用到其他页面上

                 为 hot-deploy/hello/webapp/hello/hello.ftl 增加公用组件,

                 到 hot-deploy/hello/widget/HelloScreens.xml 中修改配置

                 

                  在这个<widgets>中,引入了公共屏幕,屏幕的第一部分是菜单,第二部分是一个“body”,

                  菜单在CommonScreens.xml中已经指定过了,<decorator-section name="body">就是设置第二部分"body"的内容,

                  这里把hello.ftl中<form id="test">的表单作为"body"导入。

           

                  测试:

                 

               


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值