在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. 利用jquery来进行表单的多向提交

    最近由于特别忙,每晚都是1到2点倒床便睡的那种,所以没有给自己要求写日记,等这阶段过完,还会重新开始. 今天来写一个前端的表单提交的方法. 有时往往以为在同一个表单中,不同的按钮,来表达的含义不同,需 ...

  2. Java虚拟机详解01----初识JVM

    主要内容如下: JVM的概念 JVM发展历史 JVM种类 Java语言规范 JVM规范 一.JVM的概念: JVM: Java Virtual Machine,意为Java虚拟机. 虚拟机: 指通过软 ...

  3. jira与readmine区别

    JIRA适合多人的团队(100+),而Readmine适合中小型团队. Redmine是用ruby开发的基于web的项目管理软件,免费.JIRA收费Redmine可以创建子任务,而jira不易创建子任 ...

  4. Genymotion出现unknown generic error和This may occur if you are using a proxy错误的解决方案

    今天在实验室希望在Genymotion上多下载几个模拟器,需要重新登录帐号,却发现一个错误,叫做unknown generic error.前几天还出现过一个很诡异的问题.截图如下: . (1)unk ...

  5. HTML5和css3的总结三

    继续总结H5的新东西 1>序列化与反序列化 序列化:其实就是一个json->string的过程 JSON.stringify(json); 反序列化:string->json的过程( ...

  6. iOS下使用SHA1WithRSA算法加签源码

    首先了解一下几个相关概念,以方便后面遇到的问题的解决: RSA算法:1977年由Ron Rivest.Adi Shamirh和LenAdleman发明的,RSA就是取自他们三个人的名字.算法基于一个数 ...

  7. AFN框架基本使用

    0.AFN框架基本使用 0.1 AFN内部结构 AFN结构体 - NSURLConnection + AFURLConnectionOperation(已经被废弃) + AFHTTPRequestOp ...

  8. mobileTech

    A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 工具类网站 HTML ...

  9. Managing the Lifecycle of a Service

    service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径: A started service 被开启的service通过其他组件调用 startService()被创建. 这种 ...

  10. 【转】【C#】C# 不常用关键字

    1.__arglist 让我们先从__arglist开始. __arglist是用来给方法传送参数.通常我们是通过函数头部指定的参数列表给方法传递参数的.如果我们想要给方法传递一组新的参数,我们需要重 ...