ofbiz[12.04.02] 菜鸟日记------流程介绍

来源:互联网 发布:金山打字mac 编辑:程序博客网 时间:2024/06/04 17:59

摘要

我试图阅读源代码来理解ofbiz,但是这样的学习曲线太漫长了,还是先用起来,然后再深入学习吧
参考官方文档的最佳实现及初学者开发指南。看看ofbiz怎么使用的。
重申:文章主要记录作者学习历程,并不是标准介绍,哪些地方理解出错还希望多多指点。




实现:

说明:实现细节请参考 初学者开发指南。

[前提]1:请阅读Do's and Don'ts

[Part 1]

简单的执行流程介绍
1:创建一个组件:hot-deploy/practice
2:配置组件信息:hot-deploy/practice/ofbiz-component.xml
3:创建网站目录:hot-deploy/practice/webapp
4: 创建网站项目:hot-deploy/practice/webapp/practice
5: 完善网站项目:增加WEB-INF,web.xml,controller.xml,error
6:创建widget:hot-deploy/practice/widget/PracticeScreens.xml
*7:可以创建webapp/practice/index.jsp 跳转到control/main
总结:
流程
1:请求:http://localhost:8080/practice
2:通过挂载点/practice查找网站项目practice
3: web.xml找到index.jsp
4:index.jsp触发控制器main
5:controller.xml 找到main的控制器设置
6:main请求成功后找到PracticeScreens.xml#main,渲染视图
7:用户可以看到This is first practice
知识理解:ofbiz基于组件,一个组件有一个网站目录,网站目录可以悬挂多个网站项目

[Part 2]

拓展用户界面
1:创建装饰者CommonScreens.xml:practice/widget/CommonScreens.xml
2: web.xml中设置commonDecoratorLocation:[官方设置不知道怎么路径不在practice/widget,注意修改]
3: 创建一个菜单: practice/widget/PracticeMenus.xml
4:配置装饰者CommonScreens.xml,增加菜单的引用。
5:创建actions目录:WEB-INF/actions
6: 创建脚本Person.groovy[为页面提供数据并写入context ]
7:创建页面Person.ftl[用来展示数据]
8: 在PracticeScreens中创建person的Screen.
9: 修改controller.xml 提供映射person的controller
总结:
流程
1:请求http://localhost:8080/practice/control/person
2:controller.xml 中找到person映射成功后需要渲染PracticeScreens.xml#person
3:screen Person 提供脚本Person.groovy,使用装饰者commonDecoratorLocation
4:引用页面Person.ftl作为内容区
注意事项:如果页面效果没有,1:设置auth="false"2:缺少person实体。load-demo 就可以了
3:修改menu-item,替换name="main"为name="practicemain"
10:创建form来展现数据
11:创建一个全局的装饰器main-decorator
12:app-bar-display="true"
13:UI labels的国际化[需要在main-decorator配置]
14:安全验证

分析:

以上并不是完整版的初学者开发指南,因为我发现,官方文档跟我版本太不对照。通过以上学习,对整个流程有了一个
了解,下一步再开始逐模块的理解ofbiz。[官方的教学指南并不太适合我自己,所以我打算曲线救国]










参考资料

代码约定:https://cwiki.apache.org/confluence/display/OFBADMIN/Coding+Conventions
最佳实践:https://cwiki.apache.org/confluence/display/OFBADMIN/OFBiz+Contributors+Best+Practices
初学者开发指南:https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Tutorial+-+A+Beginners+Development+Guide
0 1