前沿拓展:
recordset
參考A
介紹
JFinal+layui極速開發(fā)企業(yè)應(yīng)用管理系統(tǒng),是以JFinal+layui為核心的企業(yè)應(yīng)用項目架構(gòu),利用JFinal的特性與layui完美結(jié)合,達到快速啟動項目的目的。讓開發(fā)更簡單高效,即使你不會layui,也能輕松掌握使用。該項目的核心功能有:登錄、功能管理、角色管理(包含了權(quán)限管理)、用戶管理、部門管理、系統(tǒng)日志、業(yè)務(wù)字典,通用的附件上傳、下載、導(dǎo)入、導(dǎo)出,echart圖表統(tǒng)計,緩存,druid的sql**,基本滿足企業(yè)應(yīng)用管理系統(tǒng)的需求,簡化了前段代碼,后臺公用接口都封裝完善,你只需要開發(fā)業(yè)務(wù)功能即可。從后端架構(gòu)到前端開發(fā),從開發(fā)到部署,這真正的展現(xiàn)了jfinal極速開發(fā)的魅力。
軟件架構(gòu)
軟件架構(gòu)說明: 核心架構(gòu):jfinal,jfinal-undertow,layui,mysql,ehcach,rsa加密算法 系統(tǒng)權(quán)限:通過“用戶-角色-功能”三者關(guān)系來實現(xiàn)系統(tǒng)的權(quán)限控制,**作簡單明了,代碼實現(xiàn)極其簡單,完全可以替代shiro,你不用再去折騰shiro那一套了,這都是得益于jfinal架構(gòu)的巧妙設(shè)計。 前端頁面:封裝了layui常用模塊代碼,參照使用例子,就能快速上手,無需擔(dān)心不懂layui。 系統(tǒng)日志:**作日志、數(shù)據(jù)日志、登錄日志,無需注解和手動添加,就能跟蹤記錄數(shù)據(jù),不擔(dān)心數(shù)據(jù)丟失
安裝教程下載項目代碼新建數(shù)據(jù)庫,執(zhí)行doc目錄下的jfinal-layui.sql修改resources下面的config-dev.txt配置文件,啟動項目即可登錄賬號:admin/123456使用說明
jfinal的通用配置如果不是特別需要,不需要修改,直接開發(fā)你的功能即可。
controller控制類:只需繼承BaseController就能擁有上傳、導(dǎo)入、導(dǎo)出等通用方法。 ControllerBind的path、viewPath默認相同,也可自定義:@ControllerBind(path=”/portal/core/sysUser”)
public class SysUserController extends BaseController {
@Inject
SysUserService service;
public void index() {
setAttr(“orgList”, service.queryOrgIdAndNameRecord());
render(“index.html”);
}
public void list() {
//條件查詢
Record record = new Record();
record.set(“userName”, getPara(“userName”));
record.set(“orgId”, getPara(“orgId”));
record.set(“sex”, getPara(“sex”));
renderJson(service.page(getParaToInt(“pageNumber”, 1), getParaToInt(“pageSize”, 10), record));
}
}
service服務(wù)類:只需要繼承BaseService接口,實現(xiàn)getDao()方法,就能擁有對數(shù)據(jù)庫持久層的所有方法接口。 public class SysUserService extends BaseService {
private SysUser dao = new SysUser().dao();
@Override
public Model<?> getDao(){
return dao;
}
}
前端頁面,封裝了layui常用代碼,添加修改頁面使用函數(shù)#@colStart和#@colEnd即可,#@colStart和#@colEnd必須成對出現(xiàn) <div >
#@colStart(‘用戶編號’,6)
<input type=”text” name=”sysUser.userCode” value=”#(sysUser.user_code??)”
lay-verType=’tips’lay-verify=”required|” maxlength=”50″ placeHolder=”必填”/>
#@colEnd()
#@colStart(‘密碼’,6)
<input type=”password” name=”sysUser.passwd” value=”#(sysUser.passwd??)”
lay-verType=’tips’lay-verify=”” maxlength=”50″ placeHolder=”不填則使用默認密碼”/>
#@colEnd()
</div>
4、分頁列表,頁面代碼也極其簡單明了
<script>
//自定義彈窗
function userRole(obj){
var data=obj.data;
var userCode=data.user_code;
var userName=data.user_name;
var url=”#(path)/portal/core/sysUser/userRole?userCode=”+userCode+”&userName=”+userName;
openDialog(“配置用戶角色”,url,false,null,null);
}
//分頁表格參數(shù)
gridArgs.title=’功能’;
gridArgs.dataId=’id’;
gridArgs.deleteUrl=’#(path)/portal/core/sysUser/delete’;
gridArgs.updateUrl=’#(path)/portal/core/sysUser/edit/’;
gridArgs.addUrl=’#(path)/portal/core/sysUser/add’;
gridArgs.resetUrl=’#(path)/portal/core/sysUser/resetPassword’;
gridArgs.gridDivId =’maingrid’;
initGrid({id : ‘maingrid’
,elem : ‘#maingrid’
,cellMinWidth: 80
,cols : [ [
{title: ‘主鍵’,field : ‘id’,width : 35,checkbox : true},
{title:’序號’,type:’numbers’,width:35},
{title: ‘用戶名’, field: ‘user_code’ },
{title: ‘姓名’, field: ‘user_name’},
{title: ‘所屬部門’, field: ‘org_name’},
{title: ‘性別’, field: ‘sex’,templet:’#sexStr’},
{title: ‘電話’, field: ‘tel’},
{title: ‘手機號碼’, field: ‘mobile’},
{title: ‘郵箱’, field: ’email’},
{title: ‘允許登錄’, field: ‘allow_login’,templet:’#numToStr’ },
{fixed:’right’,width : 180,align : ‘left’,toolbar : ‘#bar_maingrid’} // 這里的toolbar值是模板元素的選擇器
] ]
,url:”#(path)/portal/core/sysUser/list”
,searchForm : ‘searchForm’
},{role:userRole});
</script>
<script type=”text/html” >
{{ d.sex == 1 ? ‘男’ : ‘女’ }}
</script>
<script type=”text/html” >
<input type=”checkbox” name=”isStop” {{(d.id==’admin’||d.id==’superadmin’)?’disabled’:”}} value=”{{d.id}}”
lay-skin=”switch” lay-text=”是|否” lay-filter=”allowLoginFilter” {{ d.allow_login == 0 ? ‘checked’ : ” }}>
</script>
5、業(yè)務(wù)字典快速引用函數(shù) code:字典編號,name:元素name屬性,text:選項名稱 ,如:系統(tǒng)日志類型引用:
#@queryStart(‘日志類型’)
#@getSelect(‘logType’,’remark’,’日志類型’)
#@queryEnd()
#@queryStart(‘日志類型’)
#@getRadio(‘logType’,’remark’,’日志類型’)
#@queryEnd()
#@queryStart(‘日志類型’)
#@getCheckbox(‘logType’,’remark’,’日志類型’)
#@queryEnd()
系統(tǒng)界面
1、登錄界面,第一次不顯示驗證碼,輸錯一次密碼,則需要驗證碼
2、登錄后的管理主頁
3、系統(tǒng)管理核心模塊
項目地址
https://gitee.com/QinHaiSenLin/Jfinal-layui
軟件設(shè)計開發(fā)交流q-q群:592246824
拓展知識:
原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請注明出處:http:///36568.html