二次开发文档

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

复制代码

相关文档
最新文档