扩展hello1 应用 creen-widget, decorator, and actions,练习hello2应用.
1.拷贝hello1 到 hello2 改名 webapp下hello1为 "hello2" 并修改ofbiz-component.xml文件.修改后内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<ofbiz-component name="hello2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/ofbiz-component.xsd">
<resource-loader name="main" type="component"/>
<webapp name="hello2"
title="My First OFBiz Application"
server="default-server"
location="webapp/hello2"
mount-point="/hello2"
app-bar-display="false"/>
</ofbiz-component>
2.创建Screens
在hello2\webapp\hello2目录下创建includes目录,此目可以放页面的公共部分.如页头和页脚等.
页头:headers.ftl 可以定义共用的样式.图片...
页脚:footers.ftl 可以定义页面的版权信息...
在hello2\webapp目录下创建widget目录,在hello2\widget下创建HelloScreens.xml Screens定义xml文件.
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file contains screens for the Team section -->
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
<screen name="main-section-decorator">
<section>
<widgets>
<platform-specific>
<html><html-template location="component://hello2/webapp/hello2/includes/headers.ftl"/></html>
</platform-specific>a
<platform-specific>
<html><html-template location="component://hello2/webapp/hello2/main.ftl"/></html>
</platform-specific>
<platform-specific>
<html><html-template location="component://hello2/webapp/hello2/includes/footers.ftl"/></html>
</platform-specific>
</widgets>
</section>
</screen>
</screens>
3. 修改controller.xml文件修改后的内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<site-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/site-conf.xsd">
<description>Second Hello World Site Configuration File</description>
<owner>My Project (c) 2010 </owner>
<errorpage>/error/error.jsp</errorpage>
<handler name="java" type="request" class="org.ofbiz.webapp.event.JavaEventHandler"/>
<handler name="soap" type="request" class="org.ofbiz.webapp.event.SOAPEventHandler"/>
<handler name="service" type="request" class="org.ofbiz.webapp.event.ServiceEventHandler"/>
<handler name="service-multi" type="request" class="org.ofbiz.webapp.event.ServiceMultiEventHandler"/>
<handler name="simple" type="request" class="org.ofbiz.webapp.event.SimpleEventHandler"/>
<handler name="ftl" type="view" class="org.ofbiz.webapp.ftl.FreeMarkerViewHandler"/>
<handler name="jsp" type="view" class="org.ofbiz.webapp.view.JspViewHandler"/>
<handler name="screen" type="view" class="org.ofbiz.widget.screen.ScreenWidgetViewHandler"/>
<handler name="http" type="view" class="org.ofbiz.webapp.view.HttpViewHandler"/>
<preprocessor>
<!-- Events to run on every request before security (chains exempt) -->
<!-- <event type="java" path="org.ofbiz.webapp.event.TestEvent" invoke="test"/> -->
<event type="java" path="org.ofbiz.securityext.login.LoginEvents" invoke="checkExternalLoginKey"/>
</preprocessor>
<postprocessor>
<!-- Events to run on every request after all other processing (chains exempt) -->
<!-- <event type="java" path="org.ofbiz.webapp.event.TestEvent" invoke="test"/> -->
</postprocessor>
<!-- Request Mappings -->
<request-map uri="main">
<response name="success" type="view" value="main"/>a
</request-map>
<!-- end of request mappings -->
<!-- View Mappings -->
<view-map name="error" page="/error/error.jsp"/>
<view-map name="main" type="screen" page="component://hello2/widget/HelloScreens.xml#main"/>
<!-- end of view mappings -->
</site-conf>
4.打开浏览器,访问http://localhost:8080/hello2/control/main,可以看到新的应用页面.
5.Decorating Your Page装饰页面.
例如:想创建内处相同页头和页脚的页面,screen-widget 允许我们创建多个页面重用同一显示元素.
首先:在controller.xml文件中定义多个requests 和 views
如:
<!-- Request Mappings -->
<request-map uri="main">
<response name="success" type="view" value="main"/>a
</request-map>
<request-map uri="news">
<response name="success" type="view" value="news"/>a
</request-map>
<!-- end of request mappings -->
<!-- View Mappings -->
<view-map name="error" page="/error/error.jsp"/>
<view-map name="main" type="screen" page="component://hello2/widget/HelloScreens.xml#main"/>
<view-map name="news" type="screen" page="component://hello2/widget/HelloScreens.xml#news"/>
<!-- end of view mappings -->
其次:在screen-widget XML 文件中添加新的面页和屏幕.
<@ofbizUrl>标记在headers.ftl 文件中.生成url.
headers.ftl文件如下:
<s>页面头...</s>
<a href="<@ofbizUrl>/main</@ofbizUrl>">首页</a>
<a href="<@ofbizUrl>/news</@ofbizUrl>">新闻</a>
<hr>
news.ftl文件内容如下:
<html>
<head>
<title>Hello World - news</title>
</head>
<body>
<h1>news</h1>
<p>news page start ...............!</p>
</body>
</html>
HelloScreens.xml 文件修改如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file contains screens for the Team section -->
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
<screen name="commonDecorator">
<section>
<widgets>
<platform-specific>
<html><html-template location="component://hello2/webapp/hello2/includes/headers.ftl"/></html>
</platform-specific>a
<decorator-section-include name="body"/>
<platform-specific>
<html><html-template location="component://hello2/webapp/hello2/includes/footers.ftl"/></html>
</platform-specific>
</widgets>
</section>
</screen>
<screen name="main">
<section>
<widgets>
<decorator-screen name="commonDecorator">
<decorator-section name="body">
<platform-specific>
<html><html-template location="component://hello2/webapp/hello2/main.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</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>
</screens>
6.Adding Actions 添加Actions
现在是基于静态站点的页面.下一步是要混合动态内容.
在你的WEB-INF目录下创建actions目录.可以加入一些如beanshell script 等脚本. 略..
参照:http://www.opensourcestrategies.com/ofbiz/hello_world2.php学习
分享到:
相关推荐
ofbiz很好的学习资料,学习了很多,希望对你也能有帮助!
本主题文件定制教程主要聚焦于如何在OFBiz框架下,对"Hello"主题进行深入的个性化配置,从而提供更符合企业需求的后台管理体验。 "Hello"主题是OFBiz预设的主题之一,设计简洁明了,适合初学者快速上手。在本教程中...
总的来说,通过"ofbiz电商框架hello与皮肤定制实例"的学习,开发者可以掌握OFBiz的基础知识,并具备创建自定义主题的能力。这将有助于提升电商平台用户体验,增强品牌识别度,并为后期的系统扩展打下坚实的基础。在...
ofbiz的helloworld例子,网上不好找到比较全的,这个比较全,可以了解ofbiz的整体架构和运行机制。
NULL 博文链接:https://lmzf.iteye.com/blog/575969
文档中提供的"新建 Microsoft Word 文档 (2).docx"和"新建 Microsoft Word 文档.docx"可能是详细的学习笔记或者教程,涵盖了Ofbiz的基础概念、配置步骤、实例分析等内容。建议首先阅读这些文档,以便对Ofbiz有一个...
总之,《OFBIZ开发指南》是深入学习和实践OFBIZ开发的宝贵资源,无论你是初学者还是有经验的开发者,都能从中获益匪浅,提升自己的技能水平。通过阅读本书并结合实际项目,你可以熟练掌握OFBIZ的各个层面,从而在...
ofbiz API,学习ofbiz的朋友一定不能少
【Ofbiz学习详解】 Ofbiz,全称Open For Business Project,是一个开源的企业级应用框架,由David E. Jones设计,其目标是提供一个全面的、可扩展的企业应用程序解决方案。Ofbiz以其面向业务的特性,与许多传统的...
2. 创建项目:在OFBiz中创建新应用通常涉及在`ofbiz-component.xml`文件中定义新的组件。在组件目录下,你可以定义服务、实体、页面、国际化资源等。对于"hello3"应用,我们需要在`components`目录下创建一个新的子...
ofbiz jar file, some jars for ofbiz
Apache OFBiz Datamodel 2
总之,"Ofbiz数据库全模型"是一个宝贵的资源,对于学习、开发和维护Ofbiz应用的人来说,它提供了对系统数据结构的全面了解,有助于提升工作效率并确保项目的稳定性和扩展性。无论是初学者还是经验丰富的Ofbiz开发者...
2. **功能模块**:OfBiz的各个模块如电子商务商店、库存管理、订单处理等可能会有示例数据和操作流程,用户可以通过这些例子学习如何使用OfBiz进行日常业务操作。 3. **用户界面**:演示环境中,用户可以看到OfBiz...
在"hello.rar"这个压缩子文件中,可能包含了作者为辅助理解Ofbiz开发所准备的示例项目。你可以通过解压并导入到开发环境中,跟随书中的步骤,实际操作一遍,这样理论与实践相结合,能更有效地掌握Ofbiz的开发技巧。 ...
2. 我们需要修改 Ofbiz 的配置文件(entityengine.xml),以便与 MySQL 数据库集成。 3. 我们需要在 MySQL 中创建用户和库:ofbiz、ofbizolap、ofbiztenant。 本文详细介绍了 Ofbiz 的安装与配置过程,包括环境搭建...
《OFBiz API 开发文档详解》 在信息技术领域,OFBiz(Open For ...总结,OFBiz API开发文档是开发者掌握OFBiz框架的必备资料,通过深入学习和实践,开发者可以充分利用OFBiz的强大功能,实现高效的企业级应用开发。
ofbiz 官网文档翻译 ,按照此文档里面的步骤,可以安全快速的编译自己的第一个小模块 "Hello World",一开始是很抵触的,但是学着学着发现其实框架道理是相似的,为了将代码解耦,每个框架都有自己的独特解耦之道和...
文档开篇提到,这个教程就像在C语言编程引入时期,“Hello World”程序的作用一样,是初学者学习OFBiz的第一步。使用教程时,应该利用最新版本的OFBiz,并且在遇到任何问题或疑问时,应该参考Apache OFBiz用户邮件...