新建一个组件,使用gradle 命令
gradlew createPlugin -PpluginId=sword -PpluginResourceName=Sword -PwebappName=sword -PbasePermission=SWORD
这个命令的详细介绍,可以阅读ofbiz项目中的README.md文件中的了解。
创建之后目录如下:
使用命令创建的组件默认是在specialpurpose下,这个目录与hot-deploy目录都是存放组件的目录,
两者的区别就在于specialpurpose目录有图中component-load.xml文件,如图:
如果我们将创建的组件移动到hot-deploy目录下则不需要添加该文件就可以加载组件。
进入模块后,ofbiz-component.xml文件,该文件中定义了项目启动时,加载该组件时,需要加载的文件。
当在浏览器中输入https://localhost:8443/sword回车访问该组件时,
因为在sword/webapp/sword/index.html文件中定义的一句代码,
访问会重定向到:https://localhost:8443/sword/control/main,该文件中只定义了一句话:
<%response.sendRedirect("control/main");%>
不过在单独模块中该语句好像不能用。因为我改了没作用,不知道为啥!
因为在新建组件时,web.xml文件会自动创建,所以这里就不再说明了。
接着是接受请求并指定跳转的controller.xml文件
该文件路径为:sword/webapp/sword/WEB-INF/controller.xml.
Sword Component Site Configuration File
配置国际化信息的SwordUiLabels.xml,路径是sword\config\SwordUiLabels.xml,
Sword Application Sword应用程序 Sword應用程式 OFBiz: Sword OFBiz: Sword Part of the Apache OFBiz Family of Open Source Software Un modulo della famiglia di software open source Apache OFBiz 开软件OFBiz的组成部分? You are not allowed to view this page. 不允许你浏览这个页面?
存放权限数据,权限组数据的文件,这些文件的数据一半是让我们来导入的,不会让我们去编辑。
最后是最主要的显示用的screen文件,
⒈定义组件中菜单screen的文件SwordMenus.xml
⒉定义在页面中使用的form表单SwordForms.xml
⒊ 定义该组件公共装饰器的文件,CommonScreen.xml