Easyui and mvc 项目3书籍管理功能
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Easyui and mvc 项目3书籍管理功能
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                一、新增頁面書籍類別下拉框加載
新建數(shù)據(jù)類別實體類(Category)
package com.dzl.entity; /*書籍類別實體*/ public class Category {private long id;private String name;public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "Category [id=" + id + ", name=" + name + "]";}}CategoryDao 先加載下拉框
package com.dzl.dao;import java.util.List;import com.dzl.entity.Category; import com.zking.util.BaseDao; import com.zking.util.PageBean;public class CategoryDao extends BaseDao<Category> {// 加載下拉框public List<Category> list(Category category, PageBean pageBean) throws Exception {String sql ="select * from t_easyui_category";return super.executeQuery(sql, Category.class, pageBean);} }CategoryAction
package com.dzl.web;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.dzl.entity.Category; import com.zking.framework.ActionSupport; import com.zking.framework.ModelDriver;public class CategoryAction extends ActionSupport implements ModelDriver<Category> {private Category category = new Category();// @Override重寫模型驅(qū)動方法public Category getModel() {// TODO Auto-generated method stubreturn null;}// @Override 加載下拉列表public String combobox(HttpServletRequest req, HttpServletResponse resp) {String sql="";return super.execute(req, resp);}}main.js
$(function(){$("#bookMenus").tree({url:$("#ctx").val()+"/Permission.action?methodName=tree",onClick: function(node){var exists = $("#bookTabs").tabs('getTabIndex',node.text);if(exists){$("#bookTabs").tabs('select',node.text);}else{$('#bookTabs').tabs('add',{ title:node.text, content:'<iframe width="100%" height="100%" src="'+$("#ctx").val()+node.attributes.self.url+'">', closable:true, }); }}});})addBook.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>書籍新增</title><link rel="stylesheet" type="text/css"href="${pageContext.request.contextPath}/static/js/easyui/themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/js/easyui/themes/icon.css"><script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script><script type="text/javascript"src="${pageContext.request.contextPath}/static/js/easyui/jquery.easyui.min.js"></script><script src="${pageContext.request.contextPath}/static/js/main.js"></script> </head> <body> <div style="margin:20px 0;"></div> <div class="easyui-panel" title="已下架書籍" style="width:100%;padding:30px 60px;"><form id="ff" action="${pageContext.request.contextPath}/book.action?methodName=add" method="post"><div style="margin-bottom:20px"><input class="easyui-textbox" name="name" style="width:100%" data-options="label:'書名:',required:true"></div><div style="margin-bottom:20px"><input id="cid" name="cid" value="" label="類別" ><%--<select class="easyui-combobox" name="cid" label="類別" style="width:100%">--%><%--<option value="1">文藝</option>--%><%--<option value="2">小說</option>--%><%--<option value="3">青春</option>--%><%--</select>--%></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="author" style="width:100%" data-options="label:'作者:',required:true"></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="price" style="width:100%"data-options="label:'價格:',required:true"></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="publishing" style="width:100%"data-options="label:'出版社:',required:true"></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="description" style="width:100%;height:60px"data-options="label:'簡介:',required:true"></div><%--默認(rèn)未上架--%><input type="hidden" name="state" value="1"><%--默認(rèn)起始銷量為0--%><input type="hidden" name="sales" value="0"></form><div style="text-align:center;padding:5px 0"><a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()" style="width:80px">Submit</a><a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()" style="width:80px">Clear</a></div> </div><script>$(function () {$('#cid').combobox({ url:'${pageContext.request.contextPath}/category.action?methodName=combobox', valueField:'id', textField:'name' }); });function submitForm() {}function clearForm() {} </script> </body> </html>二、書籍上架下架新增功能
書籍實體類(book)
package com.dzl.entity;import java.util.Date;public class Book {private long id;private String name;private String pinyin;private long cid;private String author;private float price;private String image;private String publishing;private String description;private int state;private Date deployTime;private int sales;public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPinyin() {return pinyin;}public void setPinyin(String pinyin) {this.pinyin = pinyin;}public long getCid() {return cid;}public void setCid(long cid) {this.cid = cid;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public float getPrice() {return price;}public void setPrice(float price) {this.price = price;}public String getImage() {return image;}public void setImage(String image) {this.image = image;}public String getPublishing() {return publishing;}public void setPublishing(String publishing) {this.publishing = publishing;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public int getState() {return state;}public void setState(int state) {this.state = state;}public Date getDeployTime() {return deployTime;}public void setDeployTime(Date deployTime) {this.deployTime = deployTime;}public int getSales() {return sales;}public void setSales(int sales) {this.sales = sales;}@Overridepublic String toString() {return "Book [id=" + id + ", name=" + name + ", pinyin=" + pinyin + ", cid=" + cid + ", author=" + author+ ", price=" + price + ", image=" + image + ", publishing=" + publishing + ", description="+ description + ", state=" + state + ", deployTime=" + deployTime + ", sales=" + sales + "]";}}Dao方法(BookDao)
package com.dzl.dao;import java.util.Date; import java.util.List;import com.dzl.entity.Book; import com.zking.util.BaseDao; import com.zking.util.PageBean; import com.zking.util.StringUtils;public class BookDao extends BaseDao<Book> {public List<Book> list(Book book, PageBean pageBean) throws Exception {String sql ="select * from t_easyui_book where 1=1";String name = book.getName();if(StringUtils.isNotBlank(name)) {sql +="and name like '%"+name+"%'";}return super.executeQuery(sql, Book.class, pageBean);}// @Override修改public void edit( Book t) throws Exception {super.executeUpdate("update t_easyui_book set name=?,pinyin=?,cid=?,image=?,state=?,sales=? where id =?", t, new String[] {"name","pinyin","cid","image","state","sales","id",});}// 增加public void add(Book t) throws Exception {super.executeUpdate("insert into t_easyui_book(name,pinyin,cid,author,price,image,publishing,description,state,deployTime,sales) values(?,?,?,?,?,?,?,?,?,?,?)",t, new String[] {"name","pinyin","cid","author","price","image","publishing","description","state","deployTime","sales"});}}BookAction
package com.dzl.web;import java.util.List;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.dzl.dao.BookDao; import com.dzl.entity.Book; import com.zking.framework.ActionSupport; import com.zking.framework.ModelDriver; import com.zking.util.PageBean; import com.zking.util.R; import com.zking.util.ResponseUtil;public class BookAction extends ActionSupport implements ModelDriver<Book> {private Book book = new Book();private BookDao bookDao = new BookDao();@Overridepublic Book getModel() {return book;}public void list(HttpServletRequest req, HttpServletResponse resp) {PageBean pageBean = new PageBean();pageBean.setRequest(req);try {List<Book> list= bookDao.list(book, pageBean );ResponseUtil.write(resp, new R().data("total",pageBean.getTotal()).data("rows",list));} catch (Exception e) {e.printStackTrace();}}public void add(HttpServletRequest req, HttpServletResponse resp) {try {bookDao.add(book);ResponseUtil.writeJson(resp, 1);} catch (Exception e) {e.printStackTrace();try {ResponseUtil.writeJson(resp, 0);} catch (Exception e2) {e.printStackTrace();}}}// 如果上架,書記狀態(tài)改為2,下架則改為3public void edit(HttpServletRequest req, HttpServletResponse resp) {try {bookDao.edit(book);ResponseUtil.writeJson(resp, 1);} catch (Exception e) {e.printStackTrace();try {ResponseUtil.writeJson(resp, 0);} catch (Exception e2) {e.printStackTrace();}}}}addBook.jsp(改的只是下面的js)
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>書籍新增</title><link rel="stylesheet" type="text/css"href="${pageContext.request.contextPath}/static/js/easyui/themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/js/easyui/themes/icon.css"><script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script><script type="text/javascript"src="${pageContext.request.contextPath}/static/js/easyui/jquery.easyui.min.js"></script><script src="${pageContext.request.contextPath}/static/js/main.js"></script> </head> <body> <div style="margin:20px 0;"></div> <div class="easyui-panel" title="已下架書籍" style="width:100%;padding:30px 60px;"><form id="ff" action="${pageContext.request.contextPath}/book.action?methodName=add" method="post"><div style="margin-bottom:20px"><input class="easyui-textbox" name="name" style="width:100%" data-options="label:'書名:',required:true"></div><div style="margin-bottom:20px"><input id="cid" name="cid" value="" label="類別" ><%--<select class="easyui-combobox" name="cid" label="類別" style="width:100%">--%><%--<option value="1">文藝</option>--%><%--<option value="2">小說</option>--%><%--<option value="3">青春</option>--%><%--</select>--%></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="author" style="width:100%" data-options="label:'作者:',required:true"></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="price" style="width:100%"data-options="label:'價格:',required:true"></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="publishing" style="width:100%"data-options="label:'出版社:',required:true"></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="description" style="width:100%;height:60px"data-options="label:'簡介:',required:true"></div><%--默認(rèn)未上架--%><input type="hidden" name="state" value="1"><%--默認(rèn)起始銷量為0--%><input type="hidden" name="sales" value="0"></form><div style="text-align:center;padding:5px 0"><a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()" style="width:80px">Submit</a><a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()" style="width:80px">Clear</a></div> </div> <script>$(function () {$('#cid').combobox({ url:'${pageContext.request.contextPath}/category.action?methodName=combobox', valueField:'id', textField:'name' }); });function submitForm() {$('#ff').form('submit', { url:'${pageContext.request.contextPath}/book.action?methodName=add', success:function(data){ alert(data) if(data == 1){$('#ff').form('clear');}} }); }function clearForm() {$('#ff').form('clear');} </script> </body> </html>?及工具類
package com.zking.uril;import java.util.regex.Pattern;import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;/*** 拼音工具類,能將漢字轉(zhuǎn)換成拼音的首字母*/ public class PinYinUtil {// 名字長度private static int NAME_LENGTH = 3;/*** 將首個漢字轉(zhuǎn)換為全拼* 其他是漢字首字母* @param src* @return*/public static String getPingYin(String src) {char[] name = src.toCharArray();String[] newName = new String[name.length];HanyuPinyinOutputFormat pyFormat = new HanyuPinyinOutputFormat();pyFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);pyFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);pyFormat.setVCharType(HanyuPinyinVCharType.WITH_V);String account = "";int length = name.length;try {// 名字大于等于3個字的時候,姓取全稱,名取首字母。if(length>=NAME_LENGTH){for (int i = 0; i < length; i++) {// 截取姓if(i==0){// 判斷是否為漢字字符if (Character.toString(name[i]).matches("[\\u4E00-\\u9FA5]+")) {newName = PinyinHelper.toHanyuPinyinStringArray(name[i], pyFormat);account += newName[0];} elseaccount += Character.toString(name[i]);}else{account += getPinYinHeadChar(Character.toString(name[i]));}}}else{// 只有2個字的名字,賬號是名字的拼音全稱for (int i = 0; i < length; i++) {// 判斷是否為漢字字符if (Character.toString(name[i]).matches("[\\u4E00-\\u9FA5]+")) {newName = PinyinHelper.toHanyuPinyinStringArray(name[i], pyFormat);account += newName[0];} elseaccount += Character.toString(name[i]);}}return account;} catch (BadHanyuPinyinOutputFormatCombination e1) {e1.printStackTrace();}return account;}/*** 全部漢字轉(zhuǎn)換成拼音* @param src* @return*/public static String getAllPingYin(String src) {StringBuffer sb = new StringBuffer();String [] arr = src.split("");for (String s : arr) {sb.append(PinYinUtil.getPingYin(s));}return sb.toString();}/*** 返回中文的首字母* @param str* @return*/public static String getPinYinHeadChar(String str) {String convert = "";for (int j = 0; j < str.length(); j++) {char word = str.charAt(j);String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);if (pinyinArray != null) {convert += pinyinArray[0].charAt(0);} else {convert += word;}}return convert;}public static void main(String[] args) {String cn = "保存并插入數(shù)據(jù)庫";System.out.println(PinYinUtil.getAllPingYin(cn));System.out.println(PinYinUtil.getPingYin(cn));System.out.println(PinYinUtil.getPinYinHeadChar(cn));} }上架
BookDao
// 上架public void editSatus(Book t) throws Exception {super.executeUpdate("update t_easyui_book set state=? where id =?", t, new String[] {"state","id"});BookAction
// 上架public void editSatus(HttpServletRequest req, HttpServletResponse resp) {try {bookDao.editSatus(book);ResponseUtil.writeJson(resp, 1);} catch (Exception e) {e.printStackTrace();try {ResponseUtil.writeJson(resp, 0);} catch (Exception e2) {e.printStackTrace();}}}listBook1.jsp
function shangjia() {$.messager.confirm('確認(rèn)','您確認(rèn)想要上架此書籍嗎?',function(r){if (r){var row = $('#dg').datagrid('getSelected');if (row){$.ajax({url:'${pageContext.request.contextPath}/book.action?methodName=editSatus&state=2&id=' + row.id,success:function (data) {}})} }});}下架:也是調(diào)用editSatus
listBook2.jsp
function xiajia() {$.messager.confirm('確認(rèn)','您確認(rèn)想要下架此書籍嗎?',function(r){if (r){var row = $('#dg').datagrid('getSelected');if (row){$.ajax({url:'${pageContext.request.contextPath}/book.action?methodName=editSatus&state=3&id=' + row.id,success:function (data) {$('#dg').datafrid('reload');/* 自動刷新 */}})}}});}總結(jié)
以上是生活随笔為你收集整理的Easyui and mvc 项目3书籍管理功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: SQL Server添加MDW性能监控报
- 下一篇: 数据结构——实现双栈操作
