简单的前后台数据交互

    xiaoxiao2021-03-25  171

    前端:JQuery、easyui

    后端:Spring、SpringMVC、Hibernate、myself(随便起的)

    各框架版本...不详。

    HTML

    <body class="easyui-layout" data-options="fit : true,border : false"> <div id="XXXSearch" class="easyui-layout" data-options="fit:true" style="margin:3px"> <div region="center"> <table id="XXXGrid" data-options="fit:true"></table> <div id="XXXGrid_toolBarGroup"> <div id="XXXGrid_toolBarGroup1" class="datagrid-toolbar"> <div style="padding:6px 0 6px 0px;background-color: white"> <a id="add_xxx_button" style="margin-left: 20px;" href="javascript:void(0)" onclick="javascript:addXXX()" class="easyui-linkbutton"  plain="true">添加</a> <a id="edit_xxx_button" href="javascript:void(0)" onclick="javascript:editXXX()" class="easyui-linkbutton"  plain="true">修改</a> <a id="remove_xxx_button" href="javascript:void(0)" onclick="javascript:removeXXX()" class="easyui-linkbutton"  plain="true">删除</a> <a id="detail_xxx_button" href="javascript:void(0)" onclick="javascript:forXXX()" class="easyui-linkbutton"  plain="true">详情</a> </div> </div> <div id="XXXGrid_toolBarGroup2"> <div style="padding:6px 0 6px 0px;background-color: white"> <label style="margin-left: 25px;" for="name">查询条件1:</label> <input id="name"  class="easyui-textbox"></input> <label style="margin-left: 25px;" for="startDate">查询条件2:</label> <input id="startDate"   class="easyui-datebox" data-options="editable:'false',onChange:function(){checkTime()}"></input> -  <input id="endDate"  class="easyui-datebox" data-options="editable:'false',"></input> <a id="submit_xxx_button" href="javascript:void(0)" class="easyui-linkbutton" onclick="searchContent()">查询</a> <a id="submit_xxx_button" href="javascript:void(0)" class="easyui-linkbutton" onclick="clearCondition()">清空</a> </div> </div> </div> </div> </div>  <!-- 添加/修改窗口  --> <div id="addxxx" class="easyui-window" data-options="minimizable:false,maximizable:false,collapsible:false,closed:true,modal:true" style="width:500px;height:250px;"> <form id='addxxxFrom' action=""> <input id="id"  type="hidden"> <table style="height: 100px;width:97%;margin:auto;"> <tr height="25px"></tr> <tr> <td width="25%" class="tdBorderCss1"><b>字段1:</b></td> <td width="25%" class="tdBorderCss2"> <input id="col1"   class="easyui-combobox" /> </td> <td></td> <td></td> </tr> <tr> <td width="20%" class="tdBorderCss1" rowspan="3"><b>备注:</b></td> <td colspan="2" rowspan="3" width="75%" class="tdBorderCss2" id="purchaseDesc"> <textarea id="col2"  style="width:99%;height:99%"></textarea> </td> </tr> <tr height="25px"></tr> <tr height="25px"></tr> <tr height="25px"></tr> <tr> <td colspan="4"> <div style="text-align: center"> <a href="javascript:void(0)" class="easyui-linkbutton" style="margin-right: auto;" onclick="javascript:forSave()">保存</a> </div> <td> </tr> </table> </form> </div> </body>

    JS

    $(function() { builderGrid(); } function builderGrid(){ $('#XXXGrid').datagrid({ toolbar : '#XXXGrid_toolBarGroup', url : path+'/queryXXXList?param='+param, pagination:true, rownumbers:true, fitColumns:true, striped : true, loadMsg : '请稍候......', sortOrder : 'desc', remoteSort : false, pageSize : 10, pageList : [ 5, 10, 15], columns : [ [ {field : 'COL1',title : 'ID',checkbox : true}, {field : 'COL2',title : 'COL2',width : 30,align: 'center'}, {field : 'COL3',title : 'COL3',width : 40,align: 'center',formatter: function (value, row, index) { if (value != null) { return (parseFloat(value).toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,'); }else{ return "0.00"; } }} ]] }) }

     

     

    Controller

    @RequestMapping("/queryXXXList") public void queryXXXList(@RequestParam("page") int pageno,@RequestParam("rows")int pagesize,@RequestParam(value="param") String param,@RequestParam(value="name",required=false) String name,@RequestParam(value="startDate",required=false) String startDate,@RequestParam(value="endDate",required=false) String endDate,HttpServletResponse res){ Page<XXX> page = new Page<>(); page.setPageNo(pageno);//设置页码 page.setPageSize(pagesize);//设置每页显示的数目 List sList =XXXService.queryXXXList(page,param,name,startDate,endDate); Map<String, Object> resMap =new HashMap<String, Object>(); resMap.put("rows", sList); resMap.put("total", page.getTotalRecord()); PrintWriter out=null; JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonBeanProcessor(java.sql.Date.class, new JsDateJsonBeanProcessor()); JSONObject o=JSONObject.fromObject(resMap, jsonConfig); try { out=res.getWriter(); out.print(o); } catch (IOException e) { e.printStackTrace(); }finally{ out.close(); } }

     

     

    IService/ServiceImpl

    转存失败重新上传取消 转存失败 重新上传 取消 转存失败重新上传取消 转存失败 重新上传 取消 转存失败重新上传取消 略...

    IDao/DaoImpl

    public List XXXList(Page page,String paran,String name,String startDate,String endDate) { List<Object> param = new ArrayList<>(); StringBuilder sql=new StringBuilder(); sql.append(" select xxx,xxx........where 1=1"); param.add(param); if(StringUtils.isNotBlank(name)&& !"null".equals(name)){ sql.append(" and b.operator_name like ?"); param.add("%"+name+"%"); } if(StringUtils.isNotBlank(startDate)&& !"null".equals(startDate)){ sql.append(" and DATE >= to_date(?,'YYYY-MM-DD') "); param.add(startDate); } if(StringUtils.isNotBlank(endDate)&& !"null".equals(endDate)){ sql.append(" and DATE <= to_date(?,'YYYY-MM-DD') "); param.add(endDate); } sql.append(" ORDER BY DATE DESC"); List<Map<String, Object>> sList=baseDao.findBySqlFY(sql.toString(), page,param.toArray()); StringBuffer sqlCount=new StringBuffer("SELECT COUNT(1) AS COUNTNUM FROM (").append(sql.toString()).append(")"); List<Map<String,Object>> list1 = baseDao.findBySql(sqlCount.toString(), param.toArray()); int countNum = 0; if(list1.size() > 0){ countNum = Integer.valueOf(String.valueOf(list1.get(0).get("COUNTNUM"))).intValue(); } page.setTotalRecord(countNum); return sList; }

     

    框架BaseDao

    然而并没有没版权,其实大家都会的。
    转载请注明原文地址: https://ju.6miu.com/read-2631.html

    最新回复(0)