使用EasyUI開發銀行業績統計系統[21]-選單管理的Code On
一,簡介
角色管理和選單管理的業務邏輯基本是一模一樣的,無非增刪改查而已,貓哥直接講述如何利用複製-貼上的方式完成選單管理功能的開發。
注意:本篇採用一種意識流的開發手段,即直接一頓狂編碼,最後直接測試,如果邏輯能力夠強大的的話,應該直接一遍測試就透過。
在唱片界,這叫做One Take,林志炫老師很愛這個。在程式碼界,我們叫做Code Once!
二,大體過程
涉及到需要新建的檔案:
1,menu_manage.jsp,選單管理網頁,參照role_manage.jsp修改即可
2,menu_manage.jsp.js,網頁呼叫的js指令碼,參照role_manage.jsp.js修改即可。
3,MenuServlet.java,服務端元件,參照RoleServlet.java修改即可。
4,MenuService.java,資料服務元件,參照RoleService.java修改即可哦。
三,選單管理網頁
注意需要修改的地方貓哥已經新增註釋。
<!-- 新建檔案menu_manage.jsp -->
選單管理
<!-- 角色改為選單 -->
<!--角色列表改為選單列表;RoleServlet改為MenuServlet-->
<!-- 按照資料庫中menu表的結構修改即可 -->選單編號
選單名稱
選單url
<!-- 工具欄;方法所屬物件改為menu_manage -->
<!--詳情對話方塊 -->
詳細資訊
<!--方法所屬物件改為menu_manage -->
四,js指令碼修改
//在script資料夾下新建menu_manage.jsp.js,並複製role_manage.jsp.js中的程式碼後進行修改
var menu_manage_function=function(){//將role_manage_function改為menu_manage_function
this.CreateOne=function(){
$('#uiDialog').dialog('open').dialog('setTitle','新增');
$('#formInfo').form('clear');
url = '/BankStatistics/MenuServlet?method=createOne&ran='+Math.random();//RoleServlet改為MenuServlet
};
this.EditOne=function(){
var row = $('#uiGrid').datagrid('getSelected');
if (row){
$('#uiDialog').dialog('open').dialog('setTitle','編輯');
$('#formInfo').form('load',row);
//RoleServlet改為MenuServlet;role_id改為menu_id
url = '/BankStatistics/MenuServlet?method=editOne&id='+row.menu_id+'&ran='+Math.random();
}
};
this.SaveOne=function(){
$('#formInfo').form('submit',{
url: url,
onSubmit: function(){
return $(this).form('validate');
},
success: function(result){
var result = eval('('+result+')');
if (result.success===false){
$.messager.show({
title: 'Error',
msg: result.errorMsg
});
} else {
$('#uiDialog').dialog('close');
$('#uiGrid').datagrid('reload');
}
}
});
};
this.DeleteOne=function(){
var row = $('#uiGrid').datagrid('getSelected');
if (row){
$.messager.confirm('確認','確定刪除選中項?',function(r){
if (r){
//RoleServlet改為MenuServlet;role_id改為menu_id
$.post('/BankStatistics/MenuServlet?method=deleteOne&ran='+Math.random()
,{id:row.menu_id},
function(result){
if (result.success===true){
$('#uiGrid').datagrid('reload');
}
else {
$.messager.show({
title: 'Error',
msg: '刪除錯誤'
});
}//ifelse
}//functoon
,'json'
);//post
}//if(r)
});//messager.confirm
}//if(row)
};
};
//role_manage_function改為menu_manage_function;role_manage改為menu_manage
var menu_manage=new menu_manage_function();
五,Servlet和Service修改
這兩個修改比較簡單,自行比照上一篇文章即可。
package panda.bank.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import panda.bank.entity.Menu;
import panda.bank.service.MenuService;
import net.sf.json.JSONObject;
@WebServlet(urlPatterns="/MenuServlet")
public class MenuServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String method=request.getParameter("method");
MenuService service=new MenuService(Menu.class);
//獲取列表
if(method.equals("list")){
int page,rows,offset,total;
String i_page=request.getParameter("page");
if(i_page==null)
page=1;
else
page=Integer.parseInt(i_page);
String i_rows=request.getParameter("rows");
if(i_rows==null)
rows=10;
else
rows=Integer.parseInt(i_rows);
offset=(page-1)*rows;
total=service.getTotalCount();
List
package panda.bank.service;
import java.util.List;
import panda.bank.entity.Menu;
public class MenuService extends Service{
public MenuService(Class entityClass) {
super(entityClass);
}
public int getTotalCount(){
return operation.selectCount();
}
public List getPage(int offset,int rows){
return operation.selectPage(offset, rows);
}
public Menu getByMenuId(String id){
return (Menu)operation.selectOne(id);
}
public int add(Menu one){
return operation.add(one);
}
public int update(Menu one){
return operation.update(one);
}
public int delete(String key){
return operation.delete(key);
}
}
六,測試和總結
重新 部署、執行Tomcat,選單的增、刪、改、查、分頁一切正常,Code Once實現,成就感滿滿!
經過這兩個案例,以後針對單表操作的功能,一筆帶過,畢竟很簡單,演示已經很充分了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2318/viewspace-2807800/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用EasyUI開發銀行業績統計系統[4]-EasyUI表單UI行業
- 使用EasyUI開發銀行業績統計系統[11]-EasyUI樹形控制元件trUI行業控制元件
- 使用 flex4 開發通用統計系統,釋出原始碼至githubFlex原始碼Github
- 好用的統計系統piwik
- EasyUI - 一個簡單的後臺管理系統入門例項UI
- Java工作量統計系統Java
- 《HiWind企業快速開發框架實戰》(3)使用HiWind建立和管理選單框架
- Web前端開發之EasyUIWeb前端UI
- java績效管理系統Java
- 學生成績管理系統
- Java Swing+Mysql+beautyEye(介面優美)學校成績管理系統(管理員/學生/教師,資訊管理/選課管理/成績管理)JavaMySql
- 如何使用 Xcode Targets 管理開發和生產版本?XCode
- NeuChar 平臺使用及開發教程(三):使用 NeuChar 的選單服務
- 一個簡單的學生成績管理程式 (轉)
- iOS開發: 使用UITableView製作N級下拉選單iOSUIView
- (新人第一帖)基於Springside3+Jquery+easyUI開發的許可權管理系統SpringIDEjQueryUI
- win10 的開始選單如何管理_怎麼設定win10的開始選單Win10
- PbootCMS開啟後臺選單管理功能boot
- [BUG反饋]OT1.1開發板 模型管理 > 生成 下拉選單空的。。模型
- 【練習】學生成績管理系統
- 【乾貨】jsMind思維導圖整合Easyui的右鍵選單JSUI
- [開發教程] 第32講:Bootstrap導航選單裡的下拉選單boot
- 簡簡單單的Vue3(外掛開發,路由系統,狀態管理)Vue路由
- [指令碼例項]——統計系統資訊指令碼指令碼
- 谷歌的績效管理谷歌
- easyui datagrid 禁止選中行UI
- EasyUi之Tabs(選項卡)UI
- 對 Xcode 選單選項的詳細探索XCode
- thinkphp5開發的魔盒微信報修開鎖/維修工單管理系統PHP
- 為vscode開發一款svn右鍵選單擴充套件VSCode套件
- 學生成績錄入系統,需要判斷成績格式合格,使用throw彈出,最後並列印全班成績單
- [BUG反饋]編輯【系統-系統管理-選單管理】有個BUG
- 銀行業外發重要檔案用什麼才安全?外發檔案專業軟體必選項行業
- CRM管理系統如何帶來業績?
- 推薦一款使用go開發的文件管理系統Go
- [BUG反饋]管理員後臺“選單管理”無法管理子選單
- 基於easyui 1.3.6設計的後臺管理系統模板介面UI
- easyui的validtebox使用UI