在jeecms框架中,有一个简单的插件,它并没有写具体的功能实现,但可以从这个简单的插件中找到如何在jeecms框架中开发框架的方法。
     首先创建一个jeecms的框架demo,登录jeecms框架的后台,地址是:http://localhost:8686/demojeecms/jeeadmin/jeecms/index.do;其中的demojeecms指的是建立的项目的名字。
     在扩展那一栏中,可以看到一个简单的没有具体功能的插件。如下图所示:
   这是点击安装完之后的效果。可以进行卸载和修改。
     下面来具体讲解一下该如何进行插件开发:
一、写java功能代码
     这里的java功能代码,是指你的插件要实现的功能。java代码的编写不能脱离开jeecms框架,就是说,即使不是使用插件,代码也可以在jeecms框架中能够实现所需要的功能。
     
二、配置
     所有的配置文件都必须这个路径下:/WEB-INF/config/plug/文件夹。该目录下的配置文件会自动加载。例如我的文件夹名称为name,那么我的配置路径为config/plug/name;
    (1)插件配置说明:
      配置文件有四个:
          xxx.properties
          xxx-context.xml
          xxx-servlet-admin-action.xml
          xxx-servlet-front-action.xml
     其中, xxx.properties:标签、功能菜单、权限、国际化、Hbm映射路径配置
          xxx-context.xml:dao、manager、标签的配置
          xxx-servlet-admin-action.xml:后台action的配置
          xxx-servlet-front-action.xml:前台action的配置
     (2)entity开发简介
     建立hibernate映射文件和实体类(实例com.jeecms.xxx.entity.hbm)配置插件的实体映射文件路径(xxx.propertities增加一下配置)
     hibernate.hbm.xxx.entity=classpath*:/com/jeecms/xxx/entity/hbm/*.hbm.xml说明hibernate.hbm为固定格式,xxx.entity这个key只要不和其它插件重名即可
     (3)dao开发配置
     源码开发部分可参考源码部分,配置dao的bean test-context.xml增加如下配置<bean id="cmsXxxDao" class="com.jeecms.xxx.daol.inpl.CmsXxxDaoImpl"/>
     (4)manager开发配置
     源码开发部分可参考源码部分,配置manager的bean test-context.xml增加如下配置<bean id="cmsXxxMng" class="com.jeecms.xxx.manager.implCmsXxxMngImpl"/>
     (5)action开发配置
     源码开发部分可参考源码部分,配置action的bean xxx-servlet-admin-action.xml增加如下配置<bean id="xxxAdminAct" class="com.jeecms.xxx.aciton.admin.CmsXxxAct"/>
     (6)标签开发配置
     源码开发部分可参考源码部分,配置directive的bean xxx-context.xml增加如下配置<bean id="test_list" class="com.jeecms.xxx.action.directive.CmsXxxListDirective"/>
     xxx.properties增加标签配置directive.test_list=test_list上述配置说明directive.固定格式,test_list为标签名,test_list为在xxx-context.xml配置文件中配置的标签的id名
     (7)国际化配置
     xxx.properties增加国际化文件夹配置messages.front.xxx=/WEB-INF/languages/plug/xxx/front/messages
                                                            messages.front.xxx.tpl=/WEB-INF/languages/plug/xxx/tpl/messages
                                                            messages.admin.xxx=/WEB-INF/languages/plug/xxx/admin/messages
     /WEB-INF/languages /plug/test/admin:后台国际化文件夹
     /WEB-INF/languages /plug/test/front:前台国际化文件夹
     /WEB-INF/languages /plug/test/tpl:模板国际化文件夹
     分别在如上文件夹增加国际化配置文件,例如 messages_zh_CN.properties 文件配置后台国际化cms.test.title=标题,其他的类似
     (8)权限菜单配置
     xxx.properties增加配置plug.menu.30= cms.xxx.function;test/v_list.do;test:v_list
                         二级菜单配置plug.perms.30=global.add@test:v_add;global.edit@test:v_edit;global.save@test:o_save;global.u pdate@test:o_update
     配置说明:plug.menu.为新增菜单的固定格式
                              30 为插件的 id(可以为任意的整形数字,例如 60、600 等,值越小在扩展菜单下的菜单排 序靠前)
                              cms.test.function 为插件菜单名的国际化配置
                              test/v_list.do 为插件菜单链接地址
                              test:v_list 为插件菜单权限
                         plug.perms.为固定格式,
                              30 和上面的一级菜单的 id 一致
                              global.add@test:v_add;子菜单权限配置, global.add 为菜单名国际化配置 test:v_add 为子菜单 的权限
 
三、其它的和插件开发相关的文件目录:
          /WEB-INF/languages/plug/test/admin:后台国际化文件夹
          /WEB-INF/languages/plug/test/front:前台国际化文件夹
          /WEB-INF/languages/plug/test/tpl:模板国际化文件夹
          /WEB-INF/jeecms_sys/:后台页面文件夹位置(可自行新建子文件夹)
          /WEB-INF/t/cms/www/default/:前台模板文件夹
          插件源代码包名:com.xxxx.test
 
四、将所有的java功能代码、配置文件、页面文件写好之后,按照原来的文件结构统一放在WEB-INF文件夹下面,然后打包成zip格式,上传安装就好了。上传安装完了之后,最主要的一点就是要重启服务器,否则插件功能不会显示。
 
示例:cjdemo

JEECMS插件开发的更多相关文章

  1. JavaScript学习笔记(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  2. jira的插件开发流程实践

    怎么开头呢,由于自己比较懒,博客一直不怎么弄,以后克己一点,多传点自己遇到的问题和经历上来,供自己以后记忆,也供需要的小伙伴少走点弯路吧 最近公司项目需要竞标一个运维项目,甲方给予了既定的几种比较常用 ...

  3. Vue插件开发入门

    相对组件来说,Vue 的插件开发受到的关注要少一点.但是插件的功能是十分强大的,能够完成许多 Vue 框架本身不具备的功能. 大家一般习惯直接调用现成的插件,比如官方推荐的 vue-router.vu ...

  4. 【原创】记一次Project插件开发

    一.开发背景 最近在使用微软的Office Project 2010 进行项目管理,看到排的满满的计划任务,一个个地被执行完毕,还是很有成就感的.其实,不光是在工作中可以使用Project进行项目进度 ...

  5. JavaScript学习总结(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  6. [Tool] Open Live Writer插件开发

    一 前言 Windows Live Writer(简称 WLW)开源之后变成 Open Live Writer(简称 OLW),原先 WLW 的插件在 OLW 下都不能用了,原因很简单,WLW 插件开 ...

  7. VS插件开发 - 登录身份验证

    [附加] 很多朋友问那个VS背景怎么弄的,我刚刚已经抽时间把制作步骤发出来了: 请参见<VS插件开发 - 个性化VS IDE编辑器,瞬间 高 大 上>. 最近一直在忙着一些事情,一直没有发 ...

  8. jQuery插件开发精品教程,让你的jQuery提升一个台阶

    要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...

  9. 开源遥感平台opticks插件开发指南

    Opticks是一款开源的遥感数据处理平台,与其同类开源软件OSSIM一样,支持种类丰富的数据文件格式,但其最大特点为设计精巧的插件开发模式,在设计技巧上,系统提供了良好的封装特性,即使插件开发者对框 ...

随机推荐

  1. 第20章 DLL高级技术(1)

    20.1 DLL模块的显式载入和符号链接 20.1.1 显式载入DLL模块 (1)构建DLL时,如果至少导出一个函数/变量,那么链接器会同时生成一个.lib文件,但这个文件只是在隐式链接DLL时使用( ...

  2. cnblog code syntaxhighlighter view

    wlw代码插件 测试多款 wlw插入代码插件 在博客园的代码高亮效果 1.Code Snippet 1: public override void Update() 2: { 3: base.Upda ...

  3. C r and n(组合数)

    找出n个数的r个数的组合,如下形式: 输入:n,r分别为 5, 3 输出: 5    4     3 5    4     2 5    4     1 5    3     2 5    3     ...

  4. sublime配置全攻略

    大家好,今天给大家分享一款编辑器:sublime text2     我用过很多编辑器, EditPlus.EmEditor.Notepad++.Notepad2.UltraEdit.Editra.V ...

  5. RDLC系列之七 条码打印

    参考: C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法 http://www.cnblogs.com/vice/p/4105898.html 我做的思路是:不使用数据库存储image的b ...

  6. SQL 常见函数使用

    1.字符串转化为整型 CONVERT(INT,'字符串') 2.结果集 输出为一段字符串 SELECT STUFF((SELECT ','+A FROM tableFOR XML PATH('')), ...

  7. Linux 网络编程九(select应用--大并发处理)

    //网络编程服务端 /* * 备注:因为客户端代码.辅助方法代码和epoll相同,所以select只展示服务器端代码 */ #include <stdio.h> #include < ...

  8. Linux 信号捕捉

    pause函数 pause函数挂起调用它的进程,直到有任何消息到达. 调用进程必须有能力处理送达的信号,否则信号的默认部署就会发生. int pause(void); 只有进程捕获到一个信号的时候pa ...

  9. log4j发送邮件乱码

    Log4J发日志邮件给多个接收者及标题.正文乱码问题 以前开发的系统没有单独的日志管理,所有的日志统一输出到tomcat后台一个文件里,不几天就是好几G,现在要整体增加一个Log4J管理日志的功能,其 ...

  10. iOS使用AVFoundation实现二维码扫描(ios7以上)——转载

    关于二维码扫描有不少优秀第三方库: ZBar SDK 里面有详细的文档,相应介绍也非常多,如:http://rdcworld-iphone.blogspot.in/2013/03/how-to-use ...