ofbiz进击 第一节。 新建自己的webapp项目
创建一个webapp的过程
更新下来项目(直接从svn上面切下来就好),要先ant clean 下,然后在重新ant下。
一:
start sheel here :ant create-component(创建组件) 会在热部署文件夹中自动生成对应的项目文件列表
二:
(可能性)当项目文件夹生成以及项目启动之后,发现项目在页面上显示不了,然后通过直接路径访问,发现项目是存在的,只是项目拒绝访问,是因为在创建项目的时候,填写了 对应的权限,要将访问权限给用户组。
进入到项目的文件夹下面 然后输入命令 ant load-file -Ddata-file=权限文件
三:
如何要创建一个实体对象,需要在framework/entity/entitydef/entitymodel.xml 中添加一个entity节点对象。(需要注意的地方是:字段field 的type 可以根据fieldtypemysql.xml中 查看已经定义好的type类型。)
<entity entity-name="Student" package-name="com.brains.student"> <description>学生</description> <field name="studentId" type="id-ne"></field> <field name="studentName" type="name"></field> <prim-key field="studentId"/> </entity>
四:
control 文件,实现请求与资源的扭转功能。数据库连接:配置在entityengine.xml中,在fieldtypemysql.xml里,定义了mysql中常用的字段类型。自己构建数据时,尽量创建id小于10000的数据,因为ofibiz的数据引擎在创建数据的时候,会从10000位开始点创建,防止冲突。
五:
在config配置文件中,可以通过配置去实现语言国际化,同时也可以配置实体对象对应的字段属性,当表格填充或者编辑页面的时候,会自动加上列的解释说明。
<property key="FormFieldTitle_roomId"> <value xml:lang="zh">房间ID</value> <value xml:lang="en">Room ID</value> </property>
六:
自动根据实体对象类型去填充form列表或者表单的时候,有两种方式:
<auto-fields-service service-name="createStudent"/>(会根据services方式的入参跟出参,去显示页面上的表单内容,即如果是入参必须要填写的话,对应的fieldtext对有输入校验,出参则不会再页面上显示)
<auto-fields-entity entity-name="Student"/> 这种方式的自动装配,会将实体对象的所有属性全部都展示显示出来。
七:
查询 <service service-name="performFind" result-map="result" result-map-list="listIt">注意 当使用这个service的时候,需要注意的是列表名要注意一定要是listIt 。
八:
当使用Java类做方法的时候,如果出现class not found 这样的错误,而很明显,这个类存在于src目录下,则需要在项目上右击,然后在java build path 的souce 标签下添加对应的src文件夹,然后重新启动一下项目,功能就能正常运行了。
九:
在entitymodel.xml中添加类的时候,如果不设定主键的话,表会创建不出来。
十:
修改哪些文件一定要更新
1:service.xml 2:新增java文件的时候 需要更新.3:修改Services.xml类型的文件.
作者:wangqc
出处:http://www.cnblogs.com/wangqc/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-wangqc。