本文首先感谢网上的Ofbiz的博客!!!
从宏观来看:
Apache OFBiz中的Widget和Decorator是ofbizView层的技术,是Apache OFBiz的一大特色
Decorator:
decorator-screen两种写法:
定义的地方:
<decorator-section-include name="body"/>
应用的地方:
<decorator-screen name="main-decorator">(相同文件内的引用)
<decorator-screen name="main-decorator" location="component://hellosix/widget/hellosix/CommonScreens.xml">(引用外部文件)
Widget:
Widgets中的元素:
效果:查找样例
代码:<container><label style="head1">${uiLabelMap.${titleProperty}}</label></container>
platform-specific 元素:
<platform-specific><html><html-template location="component://hello/webapp/hello/includes/header.ftl"/></html></platform-specific>
Widgets与安全:
OFBIZ在一个.bsh文件中使用UserLogin和一个 "security" 对象来检查这些权限。如果你使用widget你还可以使用如下的标签:
<condition>
<if-has-permission>
<check-permission>
<widgets>
<fail-widgets>
OFBIZ允许我们直接在widget里核查权限而不是使用FTL,并设置了一个通过核查时的widget和没有通过核查的widget.
来自网上的资料:
• (1) ofbizView层技术
Apache OFBiz中的Widget和Decorator是ofbizView层的技术,是Apache OFBiz的一大特色。使用widget可以将很多零散的页面部分拼合成一张页面。这样每张页面的公共部分只需创建一次,创建新页面时只要创建不同的部分即可。
Widget是用xml文件表示的,存放的位置是app\widget\XxxxScreen.xml,零散的页面碎片通常存放在app\webapp\app\下和app\webapp\app\includes\下,app\webapp\app\存放的是不同的页面部分,app\webapp\app\includes\下存放的是相同的页面部分。Widget示例代码如下:
<screen name="hello">
<section>
<widgets>
<platform-specific><html><html-template location="component://hello/webapp/hello/includes/header.ftl"/></html></platform-specific>
<platform-specific><html><html-template location="component://hello/webapp/hello/hello.ftl"/></html></platform-specific>
<platform-specific><html><html-template location="component://hello/webapp/hello/includes/footer.ftl"/></html></platform-specific>
</widgets>
</section>
</screen>
代码中可以看到news页面由header.ftl,main.ftl,footer.ftl这三部分组成。这三部分的路径都在代码中明确给出,这样的话当用户请求页面hello时,ofbiz就会根据代码中给出的路径找到页面的不同部分,将它们组合起来再返回一张完整的页面的用户。
当View比较复杂,页面太多时,这样在XML里定义每一张页面时,XML的代码量也是非常大的,而且不利于维护。Decorator是一个页面模板,该模板也是一个screen元素,模板名通常叫CommonDecorator,和widget定义在相同的XML文件中。当模板定义后每一个页面的定义就不用像上面这样将所有的部分都列出来了,可以只用列出和其它页面不同的部分。示例代码:
<screen name="CommonDecorator">
<section>
<widgets>
<platform-specific><html><html-template location="component://hello2/webapp/hello2/includes/header.ftl"/></html></platform-specific>
<decorator-section-include name="body"/>
<platform-specific><html><html-template location="component://hello2/webapp/hello2/includes/footer.ftl"/></html></platform-specific>
</widgets>
</section>
</screen>
<screen name="news">
<section>
<widgets>
<decorator-screen name="CommonDecorator">
<decorator-section name="body">
<platform-specific><html><html-template location="component://hello2/webapp/hello2/news.ftl"/></html></platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
模板页面和普通页面是一样的XML元素,但在其中有一句话不同:<decorator-section-include name="body"/>,该句话所在的位置就是使用了该模板的页面需要添加自己内容的位置,在示例代码中,模板定义了HTML头和脚,使用该模板需要添加的部分就是主体部分。模板中可以添加内容的位置用<decorator-section-include name="body"/>标示,应该可以有多个位置可以被添加,不同的位置用name参数区分。
分享到:
相关推荐
【标题】"Ofbiz研究" Ofbiz,全称Open For Business Project,是一个开源的企业级应用框架,主要用于构建复杂的电子商务和企业管理系统。这个框架基于Java技术,提供了全面的业务组件和服务,包括供应链管理、订单...
通过深入研究这些模型,开发者可以更好地理解系统的数据流,从而进行有效的数据库查询优化、报表设计和功能扩展。 总之,"Ofbiz数据库全模型"是一个宝贵的资源,对于学习、开发和维护Ofbiz应用的人来说,它提供了对...
OFBiz 研究心得 OFBiz 是一个基于 Java 的开源电子商务软件,它提供了创建基于最新 J2EE/XML 规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类 WEB 应用系统的框架。 ...
Ofbiz 安装与配置指南 Ofbiz 是一个基于 Java 的开源企业级电子商务平台,提供了强大的电子商务解决方案。为了帮助初学者快速上手 Ofbiz,我们将详细介绍 Ofbiz 的安装与配置过程。 环境搭建 在开始安装 Ofbiz ...
标题中的"ofbiz10.04表结构"指的是OFBiz 10.04版本的数据模型设计,这是企业级开源应用框架OFBiz的一个...通过研究这些材料,开发者可以更好地了解OFBiz如何存储和处理业务数据,从而提高其在实际项目中的应用能力。
Apache Ofbiz是一个开源的企业应用框架,它为构建复杂的业务应用程序提供了全面的功能,包括供应链管理、电子商务、财务会计、人力资源等。对于初学者来说,理解Ofbiz的基本架构和工作原理是至关重要的。 Ofbiz的...
在提供的OFBIZ_Demo压缩包中,用户可以找到OfBiz的演示版本,这是一套预配置的环境,展示了OfBiz在实际业务场景下的功能和操作。这个演示通常包括以下部分: 1. **安装与配置**:压缩包可能包含了安装指南和配置...
《OFBiz API 开发文档详解》 在信息技术领域,OFBiz(Open For Business Project)是一个开源的企业级应用框架,主要用于构建复杂的电子商务系统。OFBiz 提供了一整套全面的业务组件,涵盖了从供应链管理到客户关系...
根据给定的文件信息,以下是关于Apache OFBiz开发的知识点: 1. OFBiz介绍与安装:OFBiz是一个开源的企业自动化软件套件,它提供了构建企业应用程序所需的各种功能,比如电子商务、订单处理等。文件中提到了2008年...
### Apache OFBiz Cookbook 知识点解析 #### 一、Apache OFBiz 概述 - **定义**:Apache OFBiz(Open For Business)是一款开源的企业级应用框架,它集成了ERP(企业资源规划)、CRM(客户关系管理)以及E-...
本篇文章将围绕“ofbiz研究第四天:终于有成果了,增删改查!”这一主题,深入探讨OFBiz的基本操作和开发过程。 1. **OFBiz简介** - OFBiz是由Apache软件基金会维护的项目,旨在提供一个灵活、可扩展的框架,用于...
OFBiz 开发手册 OFBiz 是一个基于 Java 的开源电商平台,旨在提供一个灵活、可扩展、可配置的电商解决方案。本文档将作为一个 OFBiz 的入门教材,主要介绍 OFBiz 的环境搭建、安装以及用一个简单的应用作为例子介绍...
在本教程中,我们将深入探讨如何入门Apache Ofbiz的开发,这是一个开源的企业级应用框架,专为电子商务、供应链管理和企业资源规划等业务流程设计。Ofbiz提供了强大的组件化架构,使得开发者可以方便地构建和扩展...
《OFBIZ开发指南》是一本专为开发者设计的详细教程,主要针对OFBIZ(Open For Business Project)这一开源企业应用平台。OFBIZ是一个基于Java的企业级应用框架,旨在提供一系列完整的业务功能,包括供应链管理、电子...
【OFBiz Git 服务搭建详解】 OFBiz是一个开源的企业级应用框架,主要用于构建和管理电子商务系统。本教程将详细介绍如何在本地环境中搭建OFBiz项目,并使用Git进行版本控制。 首先,确保你拥有以下基础环境: 1. ...
《OFBiz数据结构设计详解》 OFBiz,全称为Open For Business Project,是一个开源的企业级应用框架,主要用于构建和管理电子商务、供应链管理、客户关系管理等业务系统。OFBiz的数据结构设计是其核心组成部分,它...
里面是下载地址,如果逆向开发ofbiz,只要下载它就绝对没错了 Apache+OFBiz+开发初学者指南.rar OFBiz开发快速入门.rar OFBiz-技术文档.rar OFBiz API中文版.rar Apache OFBiz Cookbook Sep 2010.rar Opentaps ...
【OFBIZ快速入门】 OFBiz,全称Open For Business Project,是一个开源的企业级应用框架,专注于电子商务和业务流程管理。OFBiz旨在提供一个全面、可扩展且灵活的解决方案,适用于各种规模的企业。本篇文章将带你...
ofbiz的获取与部署,主要用到了gradle 和 eclipse,注意:cmd部署时,需要一个较好的网络环境以下载gradle
7. **案例研究**:为了使概念更易于理解,文档可能会包含实际应用场景的案例分析。 8. **最佳实践**:对于开发和部署的最佳实践,文档可能会提供一些经验分享,以助于用户避免常见问题。 9. **调试与性能优化**:...