二次开发文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jspxcms无侵入式插件开发(二次开发)教程之一:概述
Jspxcms支持无侵入式插件和二次开发,无需修改系统原有代码,即可无缝整合Entity、Service、Controller、功能菜单、权限、标签、国际化等功能。
系统中“插件--简历管理”就是以这种方式实现的,下面就以“简历管理”讲解Jspxcms插件和二次开发的方法。
本帖隐藏的内容需要回复才可以浏览
配置文件位置:/WEB-INF/conf/plugin。
所有的配置文件都必须在这个目录,在该目录下的配置文件会自动加载。在该目录下新建自己的文件夹,可以是任何名字,如:abc、novel等,本例为plug。即/WEB-INF/conf/plugin/plug
配置文件说明
application.properties:功能菜单、权限、国际化、Entity都与这个文件相关。
context-dao.xml:Dao的加载。
context-service.xml:Service的加载。
controller-back.xml:后台Controller的加载。
controller-fore.xml:前台Controller的加载。
context-directive.xml:标签的加载。
其他与插件开发相关的文件目录
/WEB-INF/messages/plugin/plug:后台国际化文件位置
/WEB-INF/messages/plugin/plugfore:前台国际化文件位置
/WEB-INF/views/plug:后台jsp文件位置
/files/1/bluewise/plug_resume.html:插件的前台模版
插件源代码包名:com.jspxcms.plug
Jspxcms无侵入式插件开发(二次开发)教程之二:菜单与权限
本帖隐藏的内容需要回复才可以浏览
菜单和权限配置文件:/WEB-INF/conf/plugin/plug/application.properties
一级菜单配置(分号为分割符)
1.menu.650=navigation.plug;nav.do?menuId=650;nav_plug
复制代码
650:是后台导航一级菜单的编号,编号大小决定菜单的前后位置。其值可以根据需要调整,如330、970,但不要与系统菜单或其他插件菜单重复。系统菜单通常为menu.100,menu.200,menu.600等,系统菜单定义文件在
/WEB-INF/conf/application.properties
navigation.plug:菜单名称。这里使用了国际化,也可以直接用中文,比如“我的插件”。
nav.do?menuId=650:菜单链接地址。其中650需与前面的值一样。
nav_plug:权限值。其中plug通常与配置文件目录名称一样。如目录为abc,则应为nav_abc。也可不一样,但不能与其他一级菜单权限名称一样。
二级菜单配置(分号为分割符)
1.menu.650.100=resume.management;plug/resume/list.do;plug:resume:list;create@plug:resume:create;copy@plug:res
ume:copy;edit@plug:resume:edit;save@plug:resume:save;update@plug:resume:update;delete@plug:resume:delete
复制代码
650:二级菜单所属的一级菜单编号。
100:二级菜单编号。其值的意义和一级菜单编号一样,用于确定二级菜单的前后位置。
resume.management:二级菜单名称。可以直接用中文,如“小说管理”。
plug/resume/list.do:功能菜单的链接地址。需与Controller中的地址对应,否则会找不到页面。
plug:resume:list:功能菜单的权限。需与Controller中list方法的权限对应,否则会报没有权限。
create@plug:resume:create:新增按钮的权限值。其中create是国际化,可以用直接用中文,如“新增@plug:resume:create”。其中plug:resume:create是该按钮的权限值,需与Controller中对应的create方法权限值一致。
copy@plug:resume:copy:意义和上面一样,后面的以此类推。
com.jspxcms.plug.web.back.ResumeController代码片段
1.package com.jspxcms.plug.web.back;
2.@Controller
3.@RequestMapping("/plug/resume")
4.public class ResumeController {
5. @RequiresPermissions("plug:resume:list")
6. @RequestMapping("list.do")
7. public String list(......) {
8. ......
9. }
10.
11. @RequiresPermissions("plug:resume:create")
12. @RequestMapping("create.do")
13. public String create(......) {