二次开发文档
- 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.
复制代码
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代码片段
1.package com.jspxcms
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(......) {
14.? ? ? ? ? ? ? ? ......
15.? ? ? ? }
16.? ? ? ? ......
17.}
Jspxcms无侵入式插件开发(二次开发)教程之三:Entity
本帖隐藏的内容需要回复才可以浏览
实体类Entity配置文件:/WEB-INF/conf/plugin/plug/application.properties
1.
复制代码
plug:通常与配置文件所在目录一样,也可不一样,但不能与其他相关配置同名。
:Entity所在包名。
不使用主键自增策略,将主键放到数据库中的一个表里。
1.create table plug_resume
2.(
3.? ?f_resume_id? ?? ?? ? int not null,
4.? ?f_site_id? ?? ?? ?? ?int not null,
5.? ?f_name? ?? ?? ?? ?? ?varchar(100) not null comment '姓名',
6.? ?f_post? ?? ?? ?? ?? ?varchar(100) not null comment '应聘职位',
7.? ?f_creation_date? ?? ?datetime not null comment '投递日期',
8.? ?f_gender? ?? ?? ?? ? char(1) not null default 'M' comment '性别',
9.? ?f_birth_date? ?? ?? ?datetime comment '出生日期',
10.? ?f_mobile? ?? ?? ?? ? varchar(100) comment '手机',
11.? ?f_email? ?? ?? ?? ???varchar(100) comment '邮箱',
12.? ?f_expected_salary? ? int comment '期望薪水',
13.? ?f_education_experience longtext comment '教育经历',
14.? ?f_work_experience? ? longtext comment '工作经历',
15.? ?f_remark? ?? ?? ?? ? longtext comment '备注',
16.? ?primary key (f_resume_id)
17.)
18.engine = innodb;
19.alter table plug_resume comment '简历表';
20.alter table plug_resume add constraint fk_plug_resume_site foreign key (f_site_id)
21.? ?? ?references cms_site (f_site_id) on delete restrict on update restrict;
复制代码