ofBiz-groovy-freemarker
ofBiz-groovy-freemarker根据浏览器的地址不同进入不同的页面
第一步:(2选一)创建groovy文件,或者java文件。在文件中定义变量 要放在
request.setAttribute中方便在跳转页面中查找,可以在本类中做一些验证或增删改查的方法,可自定义返回值。
第二步:在controller.xml文件中,定义路径访问的地址request-map 和 view-map 视图文件
具体操作 :
<request-map uri="text">
<event type="groovy" path="component://ykd/webapp/ykd/WEB-INF/actions/party/text.groovy"/>
<response name="success" type="view" value="Text" />
</request-map>
<view-map name="text" type="screen" page="component://ykd/widget/CommonScreens.xml#text"/>
注意 event标签中的type 可以是java 我引用的文件是groovy类型 path:component://文件具体地址
text.groovy文件 内容:
request.setAttribute("name", "奥特曼");
def books = [];
books[0] = ["name": "Java入门", "price": 85];
books[1] = ["name": "Java实战", "price": 70];
books[2] = ["name": "Java中级", "price": 63];
books[3] = ["name": "Java高级", "price": 81];
request.setAttribute("books", books);
return "success";
view-map 进行选择进入那个视图文件 type类型为screen 注意:ykd/widget/CommonScreens.xml#text #号前面是所在的文件 #后面代表文件中的
一个<screen name="Text">标签 标签名字叫 text 在<screen name="Text">标签中的<html-template>标签显示具体引用那个页面
<screen name="Text">标签展示:
<screen name="Text">
<section>
<actions>
</actions>
<widgets>
<platform-specific>
<html>
<html-template location="component://ykd/webapp/ykd/text.ftl" />
</html>
</platform-specific>
</widgets>
</section>
</screen>
第三步: ftl页面 标签可以用jap标签也可以用freemarker标签
ftl页面内容:
你的名字:<b>${requestAttributes.name}</b>
<table border='1'>
<#list requestAttributes.books as book>
<tr>
<td>${book.name}</td>
<td>${book.price?if_exists}</td>
</tr>
</#list>
</table>
步骤可以不一致。无所谓根据自己的想法来写。
ofBiz-groovy-freemarker的更多相关文章
- 从Spring迁移到Spring Boot
文章目录 添加Spring Boot starters 添加应用程序入口 Import Configuration和Components 迁移应用程序资源 迁移应用程序属性文件 迁移Spring We ...
- OFBiz实战(1):整合Groovy+FreeMaker
这是OFBiz实战系列的第一篇文件,该系列的目的是整合Groovy+FreeMaker开发一个图书管理系统,阐述在此过程中碰到的一系列问题,以及如何解决这些问题.第一篇文章说明如何使用Groovy+F ...
- OFBiz进阶之HelloWorld(二)创建热部署模块
参考文档 https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Tutorial+-+A+Beginners+Development+Guid ...
- Apache OFBiz源码解读之MVC模型
节点解析 request-map 你可以将其理解为controller的配置,如果你了解或使用过struts的配置或springmvc的annotation,就会发现这个定义跟它们是很相似的: [ht ...
- ofbiz初级教程
本教程是ofbiz 基本应用,它涵盖了OFBiz应用程序开发过程的基本原理.目标是使开发人员熟悉最佳实践,编码惯例,基本控制流程以及开发人员对OFBiz定制所需的所有其他方面. 本教程将帮助您在OFB ...
- Groovy 模版引擎
1. Introduction Groovy supports multiple ways to generate text dynamically including GStrings, print ...
- Freemarker的初次使用之FTL标签嵌套与map的使用
入职第二周了,在熟悉了公司自动化测试脚本的编写(使用什么数据库,使用哪种语言,框架带了哪些方法)后,现在开始熟悉模拟器,我们把请求发到服务器1,服务器1根据请求参数处理后将结果发给模拟器,模拟器根据服 ...
- ofbiz进击 第四节。 我的form之旅
一般使用ofbiz做后台管理的时候,多数会使用ofbiz的form去做后台.下面我就总结下我在使用form的时候的一些总结与问题吧. 1.首先,我们看如何使用最简单form去查询某个单个的对象,并对其 ...
- OFBIZ+ECLIPSE
1. 首先要安装好OFBIZ,参考<OFBIZ安装>. 2. 安装ECLIPSE. 3. 安装FreeMarker插件,这是OFBIZ的模版引擎.在"Eclipse Market ...
- Apache OFBiz 学习笔记 之 服务引擎 一
概述 服务定义为一段独立的逻辑顺序,当多个服务组合一起时可完成不同类型的业务需求 服务有很多类型,WorkFlow.Rules.Java.SOAP.BeanShell等.java类型的 ...
随机推荐
- Shape of HDU
Shape of HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 关于缓存问题:js清除缓存
css并行加载,js串行加载(会阻塞页面) 清除缓存的问题: 1.一般手动清除,浏览器缓存 2.js代码清除缓存(原理:增加了一个参数,且该参数是一个随机数,每次都不一样,所以每次的请求参数都不一样, ...
- copy11
方法二 这种方法也比较简单,主要针对你没有.apk包的情况,比如Android原生自带的APP(计算器.通讯录.短信...),可以通过adb 命令. 1,打开APP. 2,执行> adb log ...
- Scrum Meeting Alpha - 3
Scrum Meeting Alpha - 3 NewTeam 2017/10/27 地点:新主楼F座二楼 任务反馈 团队成员 完成任务 计划任务 安万贺 找到了几个开源项目,参考了API的包装方式, ...
- [小程序开发] 微信小程序内嵌网页web-view开发教程
为了便于开发者灵活配置小程序,微信小程序开放了内嵌网页能力.这意味着小程序的内容不再局限于pages和large,我们可以借助内嵌网页丰富小程序的内容.下面附上详细的开发教程(含视频操作以及注意事项) ...
- 深度学习之seq2seq模型以及Attention机制
RNN,LSTM,seq2seq等模型广泛用于自然语言处理以及回归预测,本期详解seq2seq模型以及attention机制的原理以及在回归预测方向的运用. 1. seq2seq模型介绍 seq2se ...
- C#里调用 MysqlDB
最近在做项目,发现在使用Mysql提供给C#操作的类不是和好用,就想办法写了一个操作方便的Mysql数据层类. 比如以前在执 行一个查询 代码 ...
- DateTime格式
SELECT * FROM TABLE (TO_DATE('2007/9/1','yyyy/mm/dd') BETWEEN CGGC_STRATDATE AND CGGC_ENDDATE OR CGG ...
- [转载] 解读ClassLoader
转载自http://www.iteye.com/topic/83978 ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲解 ClassLoader,希望能对不 ...
- Python之元类
类型对象负责创建对象实例,控制对象行为.那么类型对象又由谁来创建呢? 元类(metaclass)——类型的类型 New-Style Class的默认类型是type >>> class ...