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

创建公用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"导入。

测试:



OFBiz搭建项目详细讲解——Ofbiz表单相关推荐

  1. 用C#搭建IE BHO勾子, 取表单密码

    授权CSDN, 请在征求同意后转载. 作者: 陈嘉, NetSecure Inc, Canada, 软件工程师 微软在1997年正式退出Browser Helper Object (BHO), 使程序 ...

  2. Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

    vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息.它内置了很多常见的校验规则,可以组合使用多种校验规则,大部分场景只需要配置就能实现开 ...

  3. SPA项目开发之CRUD+表单验证

    目录 一.SPA项目开发之表单验证 二.SPA项目开发之CRUD 一.SPA项目开发之表单验证          我们做项目的都关乎到增删改查的功能,在进行增删改查功能之前,我们必须有一个表单验证. ...

  4. vant 验证手机号_【uni app】vant weapp的引入和部分详细调用(表单输入框、验证码、弹出层搭配选择器、地图)...

    本次小程序的开发使用uni app+vant weapp,vant weapp如何引用和部分组件使用方法如下 引入 在github(https://github.com/youzan/vant-wea ...

  5. html5表单讲解,HTML5 表单新增元素与属性讲解

    01 标签的control属性 中文翻译:控制 在HTML5中,可以再标签内部放置一个表单元素,并且通过该标签的control属性来访问该表单元素. form属性 Form属性 formaction属 ...

  6. SSM项目 Jquery实现From表单提交 json后台并接受

    2019-6-21 山西太原工作 前台整理 文章总结 主要是前后台的交互代码,浪费了两个小时才弄好,注意 前台往后台返回的时候 使用的并非json格式传入后台 , 后台使用@ModelAttribut ...

  7. SpringCloud工作笔记084---SpringCloud项目中,关于防止表单提交_使用redis+Aspect面向切面实现

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 这里用注解+redis的方式来防止表单提交 先声明注解: package cn.gov.credr ...

  8. SPA项目开发(CRUD表单验证)

    目录 一.表单验证 二.增删改 一.表单验证 步骤: ①.将以下拷入Articles.vue中分页条下面 <!-- 编辑界面 --><el-dialog :title="t ...

  9. oracle分区属于什么知识,详细讲解Oracle表分区的相关概念及其优点

    Oracle 8i以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较小的分区可以改善表的维护.备份.恢复.事务及查询 ...

最新文章

  1. Linux和optee双系统中1020-1023号的中断号的使用
  2. openstack 用nova API 指定 compute node 创建 instance
  3. 算法竞赛入门经典(第二版) | 例题4-5 追踪电子表格中的单元格 (UVa512,Spreadsheet Tracking,World Finals)(解法二)
  4. [蓝桥杯][算法提高VIP]开灯游戏-dfs
  5. angular开发中对请求数据层的封装
  6. WINDOWS资源编译器出错信息
  7. 单机数据库优化的一些实践
  8. python循环语句总结
  9. windows卸载linux系统,Windows和Linux双系统下完美卸载linux
  10. avast注册号|好用的avast注册号|没过期avast注册号
  11. 深入理解操作系统原理之文件系统
  12. 【Java对象转换】002- Java 对象与 Map 互转
  13. 如何画出企业系统架构图
  14. C语言实现一元二次方程的实根和复根
  15. 录播服务器系统调试内容,高清录播服务器系统选择注意事项
  16. 【Datawhale第25期组队学习】Task01:异常检测概念和方法
  17. java计算机毕业设计ssm兴发农家乐服务管理系统n159q(附源码、数据库)
  18. 正则表达式以及正则表达式在字符串的替换、切割、获取中的应用
  19. BBED修改数据文件的SCN
  20. 为什么资源管理对现代企业很重要?

热门文章

  1. 10-Stapler-可执行文件提权-内核提权-les.sh-linpeas.sh
  2. mysql骚操作_关于MySQL的一些骚操作——提升正确性,抠点性能
  3. 2020/08/28 周末计划
  4. border.css
  5. 服务器显示无internet,为何我可以上网,但却显示无internet访问
  6. 算法 64式 14、排序算法整理_1_1到15题
  7. Three.js - SpotLight 光源
  8. TinyXML-2 读 XML 文件
  9. IAP15F2K61S2芯片引脚图
  10. Wine Reviews(葡萄酒评论相关数据集)