Bookdao方法
package com.dao;
import java.sql.SQLException;
import java.util.List;
import com.entity.Book;
import com.sun.javafx.collections.MappingChange.Map;
import com.sun.xml.internal.ws.util.StringUtils;
import com.util.EntityBaseDao;
import com.util.JsonBaseDao;
import com.util.JsonUtils;
import com.util.PageBean;
public class BookDao extends JsonBaseDao {
public List<Map<String, Object>> list(Map<String, String[]> paMap,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{
String sql=" select * from booktype where true";
String bookid=JsonUtils.getParamVal(paMap, "booktypeid");
String bookname=JsonUtils.getParamVal(paMap, "booktypename");
if(StringUtils.isNotBlank(bookid)) {
sql+=" and booktypeid ="+bookid+" ";
}
if(StringUtils.isNotBlank(bookname)) {
sql+=" and booktypename like '%"+bookname+"%'";
}
sql += " order by booktypeid desc ";
return executeQuery(sql, pageBean);
}
public int addBookType(Map<String, String[]> paMap) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, SQLException {
String sql="insert into bookid (bookname,typetime) values(?,?)";
return executeUpdate(sql, new String[] {"bookname","typedescribe"}, paMap);
}
public int deleteBookType(Map<String, String[]> paMap) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, SQLException {
String sql="delete from booktype where bookid=?";
return executeUpdate(sql, new String[] {"bookid"}, paMap);
}
public int updateBookType(Map<String, String[]> paMap) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, SQLException {
String sql="update booktype set bookname=?,typetime=? where booktypeid=?";
return executeUpdate(sql, new String[] {"bookname","typetime","bookid"}, paMap);
}
}
BookAction
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dao.BookDao;
import com.util.PageBean;
import com.util.ResponseUtil;
public class BookAction extends ActionSupport {
private BookDao bookDao=new BookDao();
/**
* 查询书籍类别
* @param req
* @param resp
* @return
* @throws Exception
*/
public String list(HttpServletRequest req,HttpServletResponse resp) throws Exception {
try {
PageBean pageBean=new PageBean();
pageBean.setRequest(req);
List<Map<String, Object>> list = this.bookDao.list(req.getParameterMap(), pageBean);
ObjectMapper om =new ObjectMapper();
Map<String, Object> map=new HashMap<>();
map.put("code", 0);
map.put("count", pageBean.getTotal());
map.put("data", list);
ResponseUtil.write(resp, om.writeValueAsString(map));
} catch (InstantiationException e) {
e.printStackTrace();
}
return null;
}
/**
* 增加
* @param req
* @param resp
* @return
*/
public String addBookType(HttpServletRequest req,HttpServletResponse resp) {
try {
List<Map<String, Object>> list = this.bookDao.list(req.getParameterMap(), null);
int val = 0;
//如果集合不为空 或者长度等于 0 就把它增加进去
if(list==null || list.size() == 0) {
val = this.bookDao.addBookType(req.getParameterMap());
}
/*if(list!=null && list.size() >0) {
val = this.booktypeDao.addBookType(req.getParameterMap());
}*/
else {
val= 2;
}
ResponseUtil.write(resp, val);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 删除书本类别
* @throws Exception
* @throws JsonProcessingException
*
*/
public String deleteBookType(HttpServletRequest req,HttpServletResponse resp) throws JsonProcessingException, Exception {
try {
int deleteBookType=this.bookDao.deleteBookType(req.getParameterMap());
ObjectMapper om=new ObjectMapper();
ResponseUtil.write(resp, om.writeValueAsString(deleteBookType));
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
return null;
}
/**
* 修改书籍类别
* @param req
* @param resp
* @return
* @throws JsonProcessingException
* @throws Exception
*/
public String updateBookType(HttpServletRequest req,HttpServletResponse resp) throws JsonProcessingException, Exception {
try {
int updateBookType=this.bookDao.updateBookType(req.getParameterMap());
ObjectMapper om=new ObjectMapper();
ResponseUtil.write(resp, om.writeValueAsString(updateBookType));
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
return null;
}
/**
* 下拉框
*/
public String listSelect(HttpServletRequest req,HttpServletResponse resp) throws Exception {
try {
PageBean pageBean=new PageBean();
pageBean.setRequest(req);
List<Map<String, Object>> list = this.bookDao.list(req.getParameterMap(), pageBean);
ObjectMapper om =new ObjectMapper();
ResponseUtil.write(resp, om.writeValueAsString(list));
} catch (InstantiationException e) {
e.printStackTrace();
}
return null;
}
}
strust2的配置文件
<package name="sy" extends="base" namespace="/sy">
<action name="/strutsClassAction_*" class="com.cpc.web.StrutsClassAction" method="{1}">
</action>
</package>
index.js
layui.use(['table','layer','form'],function(){
var data=document.getElementById("sj").value;
var table =layui.table;
var layer=layui.layer;
var form = layui.form;
table.render({
elem:'#test'
,url:data+'/booktypeAction.action?methodName=list'
,method:'post'
,cols:[[
{field:'booktypeid',height:80, width:300, title: '书籍类别序号', sort: true}
,{field:'booktypename', height:80,width:300, title: '书籍类别名称'}
,{field:'createtime',height:80, width:300, title: '当前时间',templet:"<div>{{layui.util.toDateString(d.createtime, 'yyyy-MM-dd HH:mm:ss')}}</div>"}
,{field:'right',height:80, width:300, title: '操作', toolbar:'#lineBtns'}
]]
,page:'true'
, id: 'testReload'
});
var $ = layui.$, active = {
reload: function () {
var booktypename = $('#booktypename');
console.log(booktypename.val());
table.reload('testReload', {
page: {
curr: 1
},
where: {
key: 'booktypename',
booktypename: booktypename.val(),
}
});
}, add: function () {
layer.open({
type: 1,
title: '添加书本类别',
maxmin: true,
shadeClose: true,
area: ['80%', '80%'],
content: $('#box1'),
btn: ['确定', '取消'],
yes: function (index, layero) {
console.log(layero);
$.getJSON(data+"/booktypeAction.action?methodName=addBookType", {
booktypename: $("#booktypename1").val(),
//角色名
}, function (data) {
if (data==1) {
layer.alert('添加成功', {icon: 1, title: '提示'}, function (i) {
layer.close(i);
layer.close(index);
$("#booktype")[0].reset()
})
table.reload('testReload', {
page: {
curr: 1
}
})
} else if(data==2){
layer.msg('添加失败,请勿重复添加书本类别名称')
}
})
}, cancel: function (index, layero) {
$("#booktype")[0].reset()
layer.close(index)
}
});
}
}
$('.layui-form .layui-btn').on('click', function () {
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
table.on('tool(test)', function(obj){
var data = obj.data;
var urlex=document.getElementById("sj").value;
var tr=obj.tr
console.log(data);
var layEvent = obj.event;
if(layEvent === 'del'){
layer.confirm('确定删除吗?',{title:'删除'}, function(index){
$.getJSON(urlex+'/booktypeAction.action?methodName=deleteBookType',{booktypeid:data.booktypeid}, function(ret){
layer.close(index);
table.reload('testReload', {
page: {
curr: 1
}
})
});
layer.close(index);
});
} else if(layEvent === 'edit'){
layer.open({
type: 1
,skin: 'layui-layer-molv'
,area: ['380px', '270px']
,title: ['编辑书本类别信息','font-size:18px']
,btn: ['确定', '取消']
,shadeClose: true
,shade: 0
,maxmin: true
,content:$('#box1')
,success:function(layero,index){
$('#booktypeid').val(data.booktypeid);
$('#booktypename1').val(data.booktypename);
},yes:function(index,layero){
$.getJSON(urlex+'/booktypeAction.action?methodName=updateBookType',{
booktypeid: $('#booktypeid').val(),
booktypename: $('#booktypename1').val(),
booktypeid: data.booktypeid,
},function(data){
if(data>0){
layer.alert('编辑成功',{icon:1,title:'提示'},function(i){
layer.close(i);
layer.close(index);
$("#booktype")[0].reset()
})
table.reload('testReload',{
page:{
curr:1
}
})
}
});
}
});
}
});
});
index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="layui/css/layui.css" >
<script src="${pageContext.request.contextPath }/layui/layui.js"></script>
<script type="text/javascript" src="layui/lay/modules/jquery.js"></script>
<title>Insert title here</title>
</head>
<body>
<div class="child-nav">
<span class="layui-breadcrumb">
<a>书籍类别管理</a>
<a><cite>分类列表</cite></a>
</span>
</div>
<blockquote class="layui-elem-quote">
<!--搜索维度 -->
<div class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">书籍名称</label>
<div class="layui-input-inline">
<input type="text" id='booktypename' name="booktypename" lay-verify="required" placeholder="请输入书籍名" autocomplete="true" class="layui-input">
</div>
<button class="layui-btn layui-btn-normal layui-btn-radius" data-type="reload"><i class="layui-icon"></i>查询</button>
<button class="layui-btn layui-btn-normal" data-type="add">新建</button>
</div>
</div>
</blockquote>
<!--隐藏域传值 -->
<input type="hidden" id="sj" value="${pageContext.request.contextPath}" >
<!--根据table id 来展示表格数据 -->
<!-- 我们在写展示表格的时候,一定要给它写上其lay-filter渲染表格-->
<table class="layui-hide" id="test" lay-filter="test"></table>
<!--行内样式按钮 -->
<script type="text/html" id="lineBtns">
<a class="layui-btn layui-btn-xs" lay-event="edit"><i class="layui-icon"></i>编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<!--弹出层 -->
<div class="site-text" style="margin: 5%; display: none" id="box1" target="test123">
<form class="layui-form layui-form-pane" onsubmit="return false" id="booktype">
<div class="layui-form-item">
<label class="layui-form-label">类型编号</label>
<div class="layui-input-block">
<input type="text" class="layui-input layui-disabled text_add " id="booktypeid" name=booktypeid disabled="disabled">
</div>
<br>
<label class="layui-form-label"> 书本类别名</label>
<div class="layui-input-block">
<input type="text" class="layui-input" id="booktypename1" name=booktypename1><br>
</div>
</div>
</form>
</div>
</body>
<script type="text/javascript" src="${pageContext.request.contextPath }/public/Layui/js/booktype.js"></script>
</html>
</body>
</html>