没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
OFBiz Tutorial - A Beginners Development Guide
OFBiz 教程 – 初学者的开发指南
http://docs.ofbiz.org/display/OFBIZ/OFBiz+Tutorial+‐+A+Beginners+Development+Guide
Translatedbyhongs,contact:billhongs@gmail.com
Creating Practice Application (Hello World...)
Written by: Pranay Pandey with feedback and contributions from Chirag Manocha, Ravindra Mandre,
Rob Schapper
Special thanks to Anil Patel and Mridul Pathak for inspiring me to write this tutorial.
这教程面向
OFBiz
初学者。帮助学习
OFBiz
应用开发流程基础。创建这个教程背后的目的是让开发者通过最
佳实践熟悉代码习惯、控制流或更多。这个练习充当
OFBiz
的
”Helloworld”
,和由
Kernighan and Richie
引入的
c
语言编程的第一个
Helloworld
一样。
重要!
这教程打算使用最新的 SVN 版本。不再适用于 4 版本。
与这个应用开发的同时,你可以看
OFBiz
的视频,它们在
http://docs.ofbiz.org/display/OFBTECH/Framework+Introduction+Videos+and+Diagrams,
Part - 1
注
1:
有更多的疑问,你可以参考
Example
组件。你准能在
OFBiz
的最新代码的
example
组件中找到你想要的代
码。任意时候想参考例子代码,作为这个应用的开发,这些将给你未来的开发中带来帮助。每一个新功能会第一时
间加入到
example
组件中作为参考。
注
2
:在开始开发这应用前,你一定要阅读下面内容:OFBiz Contributors Best Practices
(
http://docs.ofbiz.org/display/OFBADMIN/OFBiz+Contributors+Best+Practices
)
, Coding Conventions
(
http://docs.ofbiz.org/display/OFBADMIN/Coding+Conventions
)
and Best Practices Guide
(
http://docs.ofbiz.org/display/OFBADMIN/Best+Practices+Guide
)。.
注
3
:不要从其它组件中拷贝文件,因为修订的版本号也会拷贝。如果需要总是创建一个新文件,然后拷贝这文件
的内容。也同时可以注意到无用的代码。
注
4
:搜索任意文档最好的地址是
http://docs.ofbiz.org/display/OFBADMIN/OFBiz+Documentation+Index
。
注
5
:从右边开始阅读控制台的日志是一个习惯,可以使得排除问题变得容易些,更好地理解系统。
创建第一个基本应用,命名为
"practice"
第
1
步:在
hot-deploy
下创建子目录命名为
“practice“
。这个目录名要匹配我们要创建的组件名。
注:记住所有的定制化开发都仅仅在这完成。
第
2
步:在
hot-deploy/practice
路径下创建
ofbiz-component.xml
文件,填入下面的内容。(作为参考你可以检查
这个文件在
OFBiz
任意其它组件中)
<?xml version="1.0" encoding="UTF-8"?>
<ofbiz-component name="practice"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-component.xsd">
<resource-loader name="main" type="component"/>
<webapp name="practice"
title="Practice"
server="default-server"
base-permission="OFBTOOLS"
location="webapp/practice"
mount-point="/practice"
app-bar-display="false"/>
</ofbiz-component>
ofbiz-component.xml
说明
:
1.
这个
ofbiz-component.xml
文件是负责让
OFBiz
知道资源的位置,同时让你加入到
classpath
中
.
2.
这个
'resource-loader name'
可以是任意字符串。这儿我们设为
"main".
这个
'type'
告诉
OFBiz
我们将开始装载
一个组件。
<resource-loader name="main" type="component"/>
3.
在
<webapp>
标签中
,
有不同的属性和它们的目的如下:
<webapp name="practice"
title="Practice"
server="default-server"
base-permission="OFBTOOLS"
location="webapp/practice"
mount-point="/practice"
app-bar-display="false"/>
a) name :-
定义我们
web
应用的名字。
b) title :-
这个将是应用的标识,会显示在顶端导航栏上。
c) server :-
这个让
OFBiz
知道使用哪个
server
d) base-permission :-
这行要求用户要有
OFBTOOLS
权限才能使用这个应用。因为
'admin'
用户有这个权限,所以
我们不必创建其它新用户。
e) location :-
在这个服务器上缺省基准路径的位置。
f) mount-point :-
这是访问资源的
URL
,应该是
localhost:8080/practice
g) app-bar-display :-
这个是让
OFBiz
知道是否显示在主应用导航条上,这个是公用
OFBiz
修饰的一部分。
创建
web
应用
Step - 1 :
在
practice
组件中创建一个
"webapp"
目录
(hot-deploy/practice/webapp).
,这个目录包含所有这组件相
关的
webapp
目录。
Step - 2 :
在
webapp
目录下创建一个子目录命名为
"practice",
这个就是我们要开发的
webapp
名称
(hot-deploy/practice/webapp/practice).
一个组件可以附加多个
web
应用。比如在
"marketing"
组件中有两个
webapps
"marketing"
and
"sfa"
。我们创建的
webapp
将按照
J2EE
的
Web
应用标准。
Step - 3 :
在你
webapp
下创建
WEB-INF
目录
(hot-deploy/practice/webapp/practice/WEB-INF)
。一个
OFBiz
的
web
应用要有两个配置文件:
controller.xml
和
web.xml
。这
controller.xml
告诉
OFBiz
从访问者来的不同请求做
不同的事:做什么动作和渲染什么页面。
web.xml
告诉
OFBiz
什么资源
(database and business logic access)
对
这个
web
应用是有效的和如何处理
web
相关的事,比如
welcome pages, redirects, and error pages
。
.
Step - 4
创建一个命名为
"web.xml"(web.xml
遵守
j2ee web
应用规范
).
这个文件的内容可以从存在的任意组件中
拷贝,比如
/framework/example
组件
.
需要改变的重要值是
<display-name>
、
localDispatcherName
和
mainDecoratorLocation
.
<context-param>
<param-name>localDispatcherName</param-name>
<param-value>practice</param-value>
<description>A unique name used to identify/recognize the local dispatcher for
the Service Engine</description>
</context-param>
<context-param>
<param-name>mainDecoratorLocation</param-name>
<param-value>component://practice/widget/CommonScreens.xml</param-value>
<description>The location of the main-decorator screen to use for this webapp;
referred to as a context variable in screen def XML files.</description>
</context-param>
现在设置这个值
: "component://practice/widget/CommonScreens.xml"
作为这个位置,你一会就会知道原因。这个
位置是用来指出在
screens
中的主修饰器位置的。象如下:
${parameters.mainDecoratorLocation},通过改变它增加了代码的独立性,当我们需要改变主
修饰器的位置。那时我们仅仅需要改为这个位置,将会应用到使用它的所有 screen。在 screen
中这样做的好处是可以从其它组件中重用已存在的 screen,但是它用你的修饰器来修饰那个
screen,仅仅是在相同模式用在所有地方和在所有组件中来显示
mainDecoratorLocation.
在这个应用
开发的不远将来,当你在你的
screen
中增加修饰器的时候会集中到这点上。
Step - 5
创建一个命名
"controller.xml" (
被
ofbiz webapp
控制器使用
)
的文件。
这个文件开始是小而简单,但随后
我们增加功能而快速增长。现在插入下列代码
:
<?xml version="1.0" encoding="UTF-8"?>
<site-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd">
<include
location="component://common/webcommon/WEB-INF/common-controller.xml"/>
<description>Practice Component Site Configuration File</description>
<owner>Copyright 2001-2009 The Apache Software Foundation</owner>
<handler name="screen" type="view"
class="org.ofbiz.widget.screen.ScreenWidgetViewHandler"/> <!-- Request
Mappings -->
<request-map uri="main">
<security https="false" auth="false"/>
<response name="success" type="view" value="main"/>
</request-map>
<!-- end of request mappings -->
<!-- View Mappings -->
<view-map name="main" type="screen"
page="component://practice/widget/PracticeScreens.xml#main"/>
<!-- end of view mappings -->
</site-conf>
Step - 6 :
移到上一级,创建一个新的目录,命名为
'error'(hot-deploy/practice/webapp/practice/error).
Step - 6.a :
在
"error"
目录中创建一个文件
.
这个文件的内容可以取自任意存在的组件中,比如
example
组件。
你显示错误信息页面的位置将被指定在
controller.xml
文件的开始位置,比如
<errorpage>/error/error.jsp</errorpage> .
你需要创建或拷贝一个
/webapp/practice/error/error.jsp
向用户显示错误
信息。
Step - 7 :
在你的组件目录
practice
中创建一个
"widget"(hot-deploy/practice/widget).
这个目录就包含
forms,
menus, and screens
,用来处理用户界面的。
Step - 8 :
在
"widget"
中创建文件
"PracticeScreens.xml".
这个文件的内容可以取自任意组件中,例如
example
组件。
自从现在开始,你将能开始创建
screens
视图,所以在这个地方一个重要的阅读是“
Best Practices Guide
(
http://docs.ofbiz.org/display/OFBADMIN/Best+Practices+Guide
)”。
在这个页上链接到下面:
•
HTML and CSS Best Practices
•
Managing Your Source Differences
•
Methodology Recommendations
•
User Interface Layout Best Practices
所有这些阅读是真的有帮助。
最有可能开始的
screen
将会是如下:
•
<?xml version="1.0" encoding="UTF-8"?>
•
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
•
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xs
d">
•
<screen name="main">
•
<section>
•
<widgets>
•
<label text="This is first practice"/>
•
</widgets>
•
</section>
•
</screen>
•
</screens>
Step - 9 :
现在我们这里有基本的元素,让我们再检查基本流程,不管你的组件变得如何庞大和复杂。开始,通过
浏览器来发动一个请求来看指定的资源。举例说明这个请求:
"localhost:8080/practice/control/main"
1.
当
OFBiz
看到这个请求,首先检查
/practice
部分。这是因为在我们的
ofbiz-component.xml
文件,我们指
出我们的
web
应用的装载点是
/practice
。现在知道我们的
practice
组件将处理余下的请求。
2. OFBiz
将然后看我们的
controller.xml
文件。在我们的
controller.xml
文件有
request-maps
和
view-maps
。
如果它发现一个名字为
'main'
的
request-map
,它将使用相关联的
view-map
,如下所述。这个
request-map
也能指定一个
view
或我们将会看到的
event
或
service.
如果指定一个
view
将在
the controller.xml
文件中
进一步查找,看是否有在
request-map
指定值对应的
view-map
。
3.
现在我们继续保持简单,假定所有
views
到一个
type=screen.
在这个情况下,页面标签指定一个路径到
screen
定义文件而且一个
screen
名称显示在
"#"
符号后。
剩余26页未读,继续阅读
资源评论
- hnzhanghuiwu2014-03-19一般,用处不大。。。
gao_xuejiao
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功