Layui和Ajax实现内容的替换

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <link rel="stylesheet" href="plugins/layui/css/layui.css" media="all">
</head>
<body>
<script src="plugins/layui/layui.js"></script>
<script>
layui.use(['table','layer'],function (){
   var table=layui.table;
   var layer=layui.layer;
   var $=layui.jquery;
   table.on('tool(test)',function (obj){
       var value=obj.value;
       var data=obj.data;
       var field=obj.field;
       layEvent=obj.event;
       if(layEvent=="UpdBui"){
        layer.open({
           type:2,
           title:"修改宿管",
           content:"UpdBui?id="+data.building_ID,
           area:['400px','600px'],
           shade:0.4,
            maxmin:true,
            end:function (){
                location.reload();
            }
        });
       }
   });
});
</script>
<table class="layui-table" lay-data="{height:315, url:'buildingServlet', page:true, id:'test'}" lay-filter="test" id="test">
    <thead>
    <tr>
        <th lay-data="{field:'building_ID', width:100, sort: true}">ID</th>
        <th lay-data="{field:'building_Name', width:150,edit:true}">楼层</th>
        <th lay-data="{field:'building_Introduction', width:150,edit:true}">备注</th>
        <th lay-data="{field:'teacherName', width:150,edit:true}">宿管姓名</th>
        <th lay-data="{title:'操作',alige:'center',width:400,toolbar:'#formDemo'}">操作</th>
    </tr>
    </thead>
</table>
<script type="text/html" id="formDemo">
    <a class="layui-btn layui-btn-xs" lay-event="UpdBui">更改宿管</a>
    <a class="layui-btn layui-btn-normal" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger" lay-event="deleted">删除</a>
    <a class="layui-btn layui-btn-warm" lay-event="add">添加</a>
</script>
</body>

</html>

 以json的形式把数据传送到展示页面进行展示

@WebServlet(name = "BuildingServlet", value = "/buildingServlet")
public class BuildingServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String limit=request.getParameter("limit");
    String page=request.getParameter("page");
    BuildingDao bui=new buildingImDao();
    int count=bui.BuildCount();
    List<building> list=bui.AllBuilding(Integer.parseInt(limit),Integer.parseInt(page));
    JSONObject json=new JSONObject();
    json.put("msg","");
    json.put("count",count);
    json.put("code",0);
    json.put("data",JSONObject.toJSON(list));
        System.out.println(json.toString());
        response.getWriter().write(json.toString());
    }

 

 把查询出的内容存储到session作用域中

@WebServlet(name = "UpdBuiServlet", value = "/UpdBui")
public class UpdBuiServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String id=request.getParameter("id");
    request.getSession().setAttribute("id",id);
        TeacherDao te=new teacherImDao();
        List<teacher> teaList=te.teaAll();
        request.getSession().setAttribute("teaList",teaList);
        response.sendRedirect("UpdBui.jsp");
    }

 

 把内容使用JSTL遍历循环展示到下拉菜单中

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
    <title>Title</title>
  <link rel="stylesheet" href="plugins/layui/css/layui.css" media="all">
</head>
<body>
<script src="plugins/layui/layui.js"></script>
<script type="text/javascript">
  layui.use(['form','layer'],function (){
  var form=layui.form;
  var layer=layui.layer;
  var $=layui.jquery;
  var index=parent.layer.getFrameIndex(window.name);

  form.on("submit(BuiDemo)",function (data){
    $.ajax({
      url:"updBuiTeacherName?id="+$("[name=Buiid]").val()+"&teacherid="+$("[name=teacherid]").val(),
      type:"post",
      dataType:"text",
      success:function (data){
        if(data==1){
          layer.msg("指派成功");
          parent.layer.close(index);
        }
      }
    });
    return false;
  });
  });
</script>
<form class="layui-form layui-form-pane"action="#"method="post">
  <div class="layui-form-item">
    <label class="layui-form-label">指派宿管</label>
    <div class="layui-input-block">
      <select name="teacherid">
        <c:forEach items="${teaList}" var="t" >
          <option value="${t.teacher_ID}">${t.teacher_Name}</option>
        </c:forEach>
      </select>
    </div>
  </div>
  <input type="hidden" name="Buiid"value="${id}">
  <div class="layui-form-item">
    <button class="layui-btn layui-btn-fluid layui-btn-radius" lay-submit lay-filter="BuiDemo">提交</button>
  </div>
</form>
</body>
</html>

 

 修改为选择的内容

@WebServlet(name = "UpdBuiTeacherNameServlet", value = "/updBuiTeacherName")
public class UpdBuiTeacherNameServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String Buiid=request.getParameter("id");
        String teacherid=request.getParameter("teacherid");
        building bu=new building(Integer.parseInt(Buiid),Integer.parseInt(teacherid));
        BuildingDao bui=new buildingImDao();
        int count=bui.UpdTacherName(bu);
        if (count>0){
            response.getWriter().write("1");
        }
    }
}

 

 方法的重写

public class buildingImDao implements BuildingDao {
    @Override
    public List<building> AllBuilding() {
        Connection con= DBHelper.getConn();
        List<building> list=new ArrayList<>();
        building bu=null;
        String sql="select b.Building_ID,b.Building_Name,b.Building_Introduction,t.Teacher_Name from building b LEFT JOIN  teacher t on b.teacherId=t.Teacher_ID";
        try {
            PreparedStatement ps=con.prepareStatement(sql);
            ResultSet rs=ps.executeQuery();
            while (rs.next()){
                bu=new building(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4));
                list.add(bu);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return list;
    }

    @Override
    public int BuildCount() {
        Connection con= DBHelper.getConn();
        int count=0;
        String sql="select count(*) from building";
        try {
            PreparedStatement ps=con.prepareStatement(sql);
            ResultSet rs=ps.executeQuery();
            if (rs.next()){
                count=rs.getInt(1);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return count;
    }

    @Override
    public int UpdTacherName(building b) {
        Connection con= DBHelper.getConn();
        int count=0;
        String sql="update building set teacherId=? where Building_ID=?";
        try {
            PreparedStatement ps=con.prepareStatement(sql);
            ps.setInt(1,b.getTeacherId());
            ps.setInt(2,b.getBuilding_ID());
            count=ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return count;
    }

    @Override
    public List<building> AllBuilding(int pageSize, int pageCode) {
        Connection con= DBHelper.getConn();
        List<building> list=new ArrayList<>();
        building bu=null;
        String sql="select b.Building_ID,b.Building_Name,b.Building_Introduction,t.Teacher_Name from building b LEFT JOIN  teacher t on b.teacherId=t.Teacher_ID limit ?,?";
        try {
            PreparedStatement ps=con.prepareStatement(sql);
            ps.setInt(1,(pageCode-1)*pageSize);
            ps.setInt(2,pageSize);
            ResultSet rs=ps.executeQuery();
            while (rs.next()){
                bu=new building(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4));
                list.add(bu);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return list;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值