easyui datagrid 分页怎样更新page,rows参数
   第一次查询easyui datagrid显示正常,再次查询时,datagrid中的参数 page和rows还是
        上次的值,怎样使datagrid更新传过来的page和rows参数。

         <table id="tt"></table>
        用$('#tt').datagrid().datagrid('reload');    // reload the current page data 
        只能更新数据,无法更新page和rows
        多谢

4个回答

reload就是加载当前页面的数据,page/rows参数肯定不变啊,easyui没有提供API来修改配置时的rows,page参数。。你一定要修改添加onBeforeload事件修改,不过page建议你不要修改,这个是easyui分页自动生成的,如果修改了会导致只加载你指定的page的页数


$("#dg").datagrid({
        onBeforeLoad:function(prm){
        prm.rows=5;
        prm.page=5;
        }
xy_makq
xy_makq 我取了一下,确实取过来的是系统更新后 page ,rows值
4 年多之前 回复
xy_makq
xy_makq 看了API发现可以更新 datagrid('load'); // Load and show the first page rows. If the 'param' is specified, it will replace with the queryParams property. Usually do a query by passing some parameters, this method can be called to load new data from server.
4 年多之前 回复
xy_makq
xy_makq 如果没有提供API修改,那就不动这两个参数,自己搞2个参数,多谢啊。
4 年多之前 回复

后台接page和rows的值了吗?sql语句用到分页了吗?

xy_makq
xy_makq 恩,想用这两个现成的参数。
4 年多之前 回复

使用easyui的datagrid:图片说明
一个是设置前台属性:图片说明
二是后台来的数据:图片说明
前台设置了分页控件,那么后台你就得给相应的json数据。

xy_makq
xy_makq 这样是没问题的,主要是后台数据分页,我用了datagrid的page和rows参数,一次查询后,比如到了第3页,每行
4 年多之前 回复

这样是没问题的,主要是后台数据分页,我用了datagrid的page和rows参数,一次查询后,比如到了第3页,每行5条记录,此时重新查询其他记录,
取到page=5和rows=5,这样显示数据就乱了。 @showbo 说page和rows API没有提供修改的方法,看来只能自己传入 其他参数了。
多谢

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
.net easyui datagrid 分页查询不能翻页,点击翻页没有变化
代码位置错了 public ActionResult TestContent(string code,string name,string address) { int pageIndex = Request["page"] == null ? 1 : int.Parse(Request["page"]); int pageSize = Request["rows"] == null ? 10 : int.Parse(Request["rows"]); var list1 = (_db.TestContent.Select(s => s)).ToList(); var query = from t in list1 where ((string.IsNullOrEmpty(code) || t.Code.Contains(code))&&(string.IsNullOrEmpty(name) || t.Name.Contains(name))) where (string.IsNullOrEmpty(address) || address.Contains(t.Address)&&address==t.Address) select new { t.ID, t.Code, t.Name, t.Address, Time=t.Time.ToString("yyyy-MM-dd"), t.Grede }; var total = query.Count(); var list = query.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); var data= new{ total, rows =list }; return Json(data); } 不能翻页,点击翻页没有变化红色框选部分![图片说明](https://img-ask.csdn.net/upload/201705/26/1495782014_436713.png)
使用jquery easyui datagrid请求servlet没有反应
我现在想使用jquery easyui datagrid做一个分页,功能,打算通过url请求后台的servlet返回json数据,可是怎么弄servlet就是没反应,望大侠们帮一下忙,感激不尽!! 代码如下: ``` datagrid代码: <script type="text/javascript"> $(function(){ $('#list_data').datagrid({ title:'日志列表', iconCls:'icon-edit', //图标 width:700, height:'auto', nowrap:false, striped:true, border:true, collapsible:false, fit:true, url:'listApp', //就是在这里没反应 listApp是我的servlet remoteSort:false, idField:'fldId', singleSelect:true, collapsible:true, pagination:true, rownumbers:true, frozenColumns:[[ {field:'ck',checkbox:true} ]], toolbar:[{ text:'添加', iconCls:'icon-add', handler:function(){ openDialog("add_dialog","add"); } }, '-', { text: '修改', iconCls: 'icon-edit', handler: function() { openDialog("add_dialog","edit"); } }, '-',{ text: '删除', iconCls: 'icon-remove', handler: function(){ delAppInfo(); } }], }); var p=$('#list_data').datagrid('getPager'); $(p).pagination({ pageSize:10, pageList:[5,10,15], beforePageText:'第', afterPageText:'页 共{pages}页', displayMsg:'当前显示 {from} - {to} 条记录 共{total} 条记录', }); </script> <body> <center> <table class="easyui-datagrid" id="list_data"> <thead> <tr> <th data-options="field:'id'">id</th> <th data-options="field:'ip'">ip</th> <th data-options="field:'picture1Name'">图片1</th> <th data-options="field:'picture2Name'">图片2</th> <th data-options="field:'picture1'">数据库图片1</th> <th data-options="field:'picture2'">数据库图片2</th> <th data-options="field:'simility'">相似度</th> <th data-options="field:'time'">上传时间</th> </tr> </thead> <tbody>...... ``` 下面是servlet代码: @WebServlet("/listApp") public class listApp extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("---------执行servlet-----------"); String page=request.getParameter("page"); String rows=request.getParameter("rows"); System.out.println(page); System.out.println(rows); int intPage = Integer.parseInt((page == null || page == "0") ? "1":page); int number = Integer.parseInt((rows == null || rows == "0") ? "10":rows); int start=(intPage-1)*number; getuploadLogService service=new getuploadLogServiceImpl(); ArrayList<uploadLog> logs=service.getpageData(start, number); Map<String,Object> jsonMap=new HashMap<String,Object>(); jsonMap.put("total", service.getCount()); jsonMap.put("rows",logs); response.setContentType("application/json"); JSONObject result=JSONObject.fromObject(jsonMap); System.out.println(result.toString()); response.getWriter().write(result.toString()); }
easyUI datagrid赋值问题
因为前面是查询全部 没问题 但是现在加了时间条件查询 我只要查询数据库没有的空记录后 我再查数据库有的 或者全部的记录后台都可以查出来 但是datagrid不会显示 并且后台 还会报错 数组越界 我后台是用的List集合传的值,后台代码: public List<Gasorder2> Query(String queryTime) { String hql = ""; List<Gasorder2> list = new ArrayList<Gasorder2>(); if(queryTime.equals("")||queryTime==null){ hql="from Gasorder2"; }else{ hql="from Gasorder2 where buyGasTime like '%"+queryTime+"%'"; } try { Query query = session.createQuery(hql); list = query.list(); } catch (Exception e) { e.printStackTrace(); }finally{ session.close(); } return list; } datagrid数据: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> <%@ page import="Model.Gasorder2" %> <%@ page import="dao.select" %> <%@ page import="idao.iselect" %> <% String queryTime= request.getParameter("data").trim(); System.out.println("queryTime:"+queryTime); //List<Object[]> list = new ArrayList<Object[]>(); List<Gasorder2> list = new ArrayList<Gasorder2>(); iselect dao = new select(); list = dao.Query(queryTime); //获取客户端传递的分页参数 Integer pageSize = Integer.parseInt(request.getParameter("rows")); //默认参数rows表示每页显示记录数 Integer pageNumber = Integer.parseInt(request.getParameter("page")); //默认参数page表示当前页数 StringBuilder builder = new StringBuilder("{\"total\":"+list.size()+",\"rows\":["); //计算分页开始记录数 int start = (pageNumber-1)*pageSize; //计算分页结束记录数 int end = start+pageSize; //根据分页起始参数构建当前页的列表数据 for(int i=start;i<end && i<list.size();i++){ System.out.println("数组大小:"+list.size()); Gasorder2 gn = list.get(i); //System.out.println(gn.getBuyerAddress()+"~~~~~~"+i); String buyGasStatus = ""; if(gn.getStatus().equals(11)){ buyGasStatus = "写卡成功"; }else{ buyGasStatus = gn.getStatus().toString(); } builder.append("{\"terminalName\":\""+gn.getTerminalName() +"\",\"terminalId\":\""+gn.getTerminalId() +"\",\"buyGasVolume\":\""+gn.getBuyGasVolume() +"\",\"buyGasMoney\":\""+gn.getBuyGasMoney() +"\",\"buyGasTime\":\""+gn.getBuyGasTime() +"\",\"takePayMsg\":\""+gn.getTakePayMsg() +"\",\"buyerAddress\":\""+gn.getBuyerAddress() +"\",\"buyerName\":\""+gn.getBuyerName() +"\",\"priceName\":\""+gn.getPriceName() +"\",\"status\":\""+buyGasStatus +"\",\"userCode\":\""+gn.getUserCode() +"\",\"watchManufacturer\":\""+gn.getWatchManufacturer() +"\",\"flowId\":\""+gn.getFlowId() +"\"},"); } list.clear(); String gridJSON = builder.toString(); if(gridJSON.endsWith(",")){ gridJSON = gridJSON.substring(0,gridJSON.lastIndexOf(",")); } out.print(gridJSON.toString()+"]}"); System.out.println(gridJSON.toString()+"]}"); %>
easyUI 重构 分页条参数问题
<p> </p> <pre name="code" class="html">&lt;table id="dg" title="My Users" class="easyui-datagrid" style="width:700px;height:250px" url="http://localhost:8080/s2sh_framework/json/user/list" toolbar="#toolbar" pagination="true" rownumbers="true" fitColumns="true" singleSelect="true"&gt; &lt;thead&gt; &lt;tr&gt; &lt;th field="username" width="50"&gt;用户名&lt;/th&gt; &lt;th field="truename" width="50"&gt;真名&lt;/th&gt; &lt;th field="email" width="50"&gt;邮箱&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;/table&gt; &lt;div id="toolbar"&gt; &lt;a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newUser()"&gt;New User&lt;/a&gt; &lt;a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editUser()"&gt;Edit User&lt;/a&gt; &lt;a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyUser()"&gt;Remove User&lt;/a&gt; &lt;/div&gt; </pre>   <p> </p> <p>点击下一页 post请求[page第几页 , rows一页多少条数据],那我现在不想带这两个参数,我想修改参数为page是pageNo,也想修改rows为pageSize,不知道可以不?</p> <p>为什么我要修改rows呢?因为post请求给服务端的参数rows 和 响应返回的参数rows 同名了,我想修改之</p> <p> </p> <p> </p>
easyui datagrid显示不出的问题,求各位大神帮帮小弟~
``` **jsp页面代码** <body> <div style="padding:8px;height:auto"> 参数项名称: <input class="easyui-validatebox" type="text" name="name" data-options="required:true"> 创建时间: <input class="easyui-datebox" name="createTime" style="width:80px"> <a href="#" class="easyui-linkbutton" iconCls="icon-search">查找</a> <a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add'">添加</a> </div> <table id="tt" class="easyui-datagrid"></table> <script type="text/javascript"> $('#tt').datagrid({ title: "用户列表", width:"100%", height:550, iconCls:"icon-save", rownumbers:false, pagination:true, url: 'queryList.action', pageSize:10, columns: [ [ {field: "user_code", title: "账号", width:"24%", align: "center"}, {field: "user_account", title: "密码", width:"24%", align: "center"}, {field: "name", title: "姓名", width: "24%", align: "center"}, {field: "names", title: "称呼", width: "24%", align: "center"}, {field:'opt',title:"操作",width:"8%",align:"center", formatter:function(value,rec){ var btn = "<a class='editcls' onclick='editRow('"+rec.projectname+"','"+rec.projectpackage+"')' href='javascript:void(0)>'编辑</a>"; return btn; } } ] ], toolbar: [{ text: '添加', iconCls: 'icon-add', handler: function() { openDialog("add_dialog","add"); } }, '-', { text: '修改', iconCls: 'icon-edit', handler: function() { openDialog("add_dialog","edit"); } }, '-',{ text: '删除', iconCls: 'icon-remove', handler: function(){ delAppInfo(); } }] }); //设置分页控件 var p = $('#tt').datagrid('getPager'); p.pagination({ pageSize: 5,//每页显示的记录条数,默认为10 pageList: [5, 10, 15],//可以设置每页记录条数的列表 beforePageText: '第',//页数文本框前显示的汉字 afterPageText: '页 共 {pages} 页', displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录' }); </script> </body> **后台代码** controller @RequestMapping(value = "queryList", method = { RequestMethod.POST, RequestMethod.GET }) public void getAllParam(HttpServletRequest request, HttpServletResponse response, @RequestParam(required = false, defaultValue = "1") Integer page, //第几页 @RequestParam(required = false, defaultValue = "10") Integer rows, //页数大小 @RequestParam(required = false, defaultValue = "") String paramName, @RequestParam(required = false, defaultValue = "") String createTime ) throws IOException { Map<String,Object> map=new HashMap<String,Object>(); map.put("pageSize", rows); map.put("pageIndex",(page-1)*rows); try { List<Uase> list= uaseService.queryList(map); int totl=uaseService.count(); //设置页面数据 Map<String,Object> jsonMap = new HashMap<String,Object>(); jsonMap.put("total",totl); jsonMap.put("rows", list); String jsonStr = JSONObject.toJSONString(jsonMap); System.out.println(jsonStr); sendJsonData(response,jsonStr); } catch (Exception e) { e.printStackTrace(); } } private void sendJsonData(HttpServletResponse response, String data) throws IOException { // HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); System.out.println(data); PrintWriter out; out = response.getWriter(); out.println(data); out.flush(); out.close(); } __** 前端就是没有数据显示**__ 这是转换后字符串型的josn数据 {"rows":[{"already_invoiceMoney":0},{"already_invoiceMoney":0},{"already_invoiceMoney":0}],"total":64} ```
使用easyui做的表格,在选完每页显示行数后,再点击提交,接收到的rows为NAN怎么解决?
先上图: ![图片说明](https://img-ask.csdn.net/upload/201703/08/1488960825_290618.png) 如上图,左边是用easyui做的表格,有查询和分页。点击任一行,会把明细添加到右边供编辑。翻页没问题,选择每页显示行数也没问题。但是当我选择完每页显示的行数以后,再次修改或者新增,后台接受的rows(每页显示行数)就变成了NaN。请问各位老师怎么解决? html: ``` <body> <div style="float:left" > <table id="list_data_message" title="信息管理" style="width:600px;height:500px" ></table> </div> <div style="float:right" > <div class="easyui-panel" title="信息编辑" style="width:720px;padding:30px 60px;"> <div style="float:left" > <div id="uguid" style="display:none;"></div> <div style="margin-bottom:20px"> 标题: <input id="title" name="title" class="easyui-textbox" style="width:150px;height:32px"> </div> <div style="margin-bottom:20px"> 信息类别: <select id="typeCode" name="typeCode" class="easyui-combobox" > <option value='0F31F432-0DFE-413C-A872-429BEA9F8E26' selected="selected">流行趋势</option> <option value='586E0485-C919-4B81-963F-5A3981E2FE2A'>推广引导</option> <option value='5BC62E88-E9D5-4A08-B086-6B0F41336D87'>行业信息</option> </select> </div> <div style="margin-bottom:20px;"> <div>封面:</div> <textarea id="cover" id="cover" name="cover" cols="100" rows="8" style="visibility:hidden;"> </textarea> </div> <div> <button id="isok" name="isok" class="easyui-linkbutton" iconCls="icon-ok" style="width:150px;height:32px" onclick="messageManager.submit(1)" >发布信息</button> </div> <div> <button id="ispre" name="ispre"class="easyui-linkbutton" iconCls="icon-save" style="width:150px;height:32px" onclick="messageManager.submit(0)" >保存草稿</button> </div> </div> <div style="float:right"> <textarea id="content" name="content" cols="100" rows="8" style="visibility:hidden;"> </textarea> </div> </div> </div> <script type="text/javascript"> messageManager.initTextarea(); messageManager.init(); </script> </body> ``` js文件: ``` //加载表格数据 loadMessage :function(){ var Searchtitle = $("#Searchtitle").val(); $('#list_data_message').datagrid({ title: '信息管理', iconCls: 'icon-save', //图标 loadMsg: "数据加载中,请稍后......", striped: true,//设置为true交替显示行背景 autoRowHeight: false,//设置为false锁定行高 nowap: true, //列内容多时自动折至第二行 striped: true,//行背景交换 border: true, collapsible: false, //是否可折叠 fit: false, //自动大小 datagrid自适应宽度 fitColumn: false, //列自适应宽度 url: '/api/message/index?Searchtitle='+Searchtitle, remoteSort: false, singleSelect: true, //是否单选 pagination: true, //分页控件 rownumbers: true, //行号 loading: true, showPageList: true,//定义是否显示页面导航列表。 showRefresh: true,//定义是否显示刷新按钮, idField: 'uGUID', //主键 selectOnCheck:false, checkOnSelect:false, pageNumber: 1, //默认显示第几页 pageSize: 10, pageList: [5, 10, 15],//用户可以改变页面大小。pageList属性定义了页面导航展示的页码。 //可编辑单元格 //onClickCell: onClickCell, columns: [[//显示的列 //{ field: 'ck', title: '编号', checkbox: true, align: 'left', sortable: true }, { field: 'uGUID',title: '编号',hidden:true }, { field: 'informationTypeGUID',title: '类型编号',hidden:true }, { field: 'title', title: '标题', align: 'left',width:200}, { field: 'coverPhoto', title: '封面', align: 'left',width:200,hidden:true}, { field: 'informationTypeName', title: '信息类型', align: 'left',width:200}, { field: 'status', title: '状态', align: 'left',width:60}, { field: 'content', title: '内容', align: 'left',width:200,hidden:true}, ]], onClickRow : function(index, row){ //你要写的逻辑 var row = $('#list_data_message').datagrid('getSelected'); if (row){ $('#title').textbox('setValue',row.title); $('#uguid').val(row.uGUID); if(row.informationTypeGUID!=''||row.informationTypeGUID!=null){ $("#typeCode").combobox('select',row.informationTypeGUID); } //$("#typeCode").val(row.informationTypeGUID); kcover.html(row.coverPhoto); kcontent.html(row.content); } }, toolbar: [{ id: 'BtnAddUserInfo', text: '新增', iconCls: 'icon-add', handler: function () { messageManager.refresh(); } }, '-', { id: '', text: '删除', iconCls: 'icon-remove', handler: function () { var guid = $('#list_data_message').datagrid('getSelected').uGUID; var data={}; data.guid=guid; $.ajax({ type : 'POST', url : '/api/message/delete', dataType:"json", contentType:'application/json;charset=UTF-8', data : JSON.stringify(data), success : function(){ messageManager.loadMessage(); }, error: function(XMLHttpRequest){ alert( "删除失败: " + XMLHttpRequest.responseText); } }); } }, '-', { //查询输入框 text: '<input type="text" id="Searchtitle" placeholder="输入信息标题"/>', }, '-', { id: '', text: '查询', iconCls: 'icon-search', handler: function () { messageManager.loadMessage(); } }, ], }); //分页控件 var p = $('#list_data_message').datagrid('getPager'); $(p).pagination({ //pageNumber: 1, //默认显示第几页 //pageSize: 10, //pageList: [5, 10, 15],//用户可以改变页面大小。pageList属性定义了页面导航展示的页码。 beforePageText: '第', afterPageText: '页 共{pages}页', displayMsg: '当前显示{from}-{to}条记录 共{total}条记录', /*onBeforeRefresh:function(){ alert('before refresh'); //刷新 },*/ /*onSelectPage:function(pageNumber,pageSize){ alert(pageNumber);//翻页 a*/ buttons: [{ iconCls: 'icon-add', handler: function () { alert('add') } }, '-', { iconCls: 'icon-save', handler: function () { alert('save') } }, '-', { iconCls: 'icon-cut', handler: function () { alert('AAAA') } } ] }); }, ``` java代码(springboot) ``` /** * 显示所有信息管理的信息 * @param req * @param model * @return */ @RequestMapping(value="/index") public Map<String, Object> findAllMessage(HttpServletRequest req){ String Searchtitle = req.getParameter("Searchtitle"); if(Searchtitle==null||Searchtitle.equals("undefined")){ Searchtitle=""; } Searchtitle = "%"+Searchtitle+"%"; Integer page = Integer.parseInt(req.getParameter("page")); Integer rows = Integer.parseInt(req.getParameter("rows")); List<Map<String, String>> informations = messageService.findAllInformationRelease(Searchtitle,page,rows); int total = messageService.findCountInformationRelease(Searchtitle); Map<String, Object> json = new HashMap<>(); json.put("total", total); json.put("rows", informations); String jsonarray = JSONArray.toJSONString(informations); return json; } /** * 添加或修改一条信息 * @param informationRelease * @return */ @RequestMapping(value="/save") public FerryInfo saveMessage(@RequestBody InformationRelease informationRelease){ FerryInfo ferryInfo = new FerryInfo(); if(informationRelease.getuGUID()==null||"".equals(informationRelease.getuGUID())){ informationRelease.setuGUID(UUID.randomUUID().toString()); informationRelease.setCreator("test");//TODO informationRelease.setCreateTime(new Date()); }else{ InformationRelease info = informationReleaseDao.findOne(informationRelease.getuGUID()); informationRelease.setCreator(info.getCreator()); informationRelease.setCreateTime(info.getCreateTime()); } informationRelease.setUpdateMan("test");//TODO informationRelease.setUdpateTime(new Date()); informationRelease.setUsable(1); if(informationRelease.getStatus()==1){ informationRelease.setLssueMan("test");//TODO informationRelease.setLssueTime(new Date()); } informationReleaseDao.save(informationRelease); return ferryInfo; } ```
Spring MVC easyui1.3.2 datagrid无法加载数据
``` jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/common/page/jqueryMaster.jsp"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript" src="<%=root%>/info/js/infoList.js" charset="utf-8"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>信息列表</title> </head> <body> <!-- 列表 --> <table id="tt"> </table> <!-- 工具拦 --> <div id="tb" style="padding: 3px"> <form method="post" action="" id="myForm" name="myForm"> <br> <span>信息标题:</span> <input id="ensurname" name="ensurname" style="width:160px; border: 1px solid #ccc"> <span>创建人:</span> <input id="engivename" name="engivename" style="width:160px; border: 1px solid #ccc"> <span>创建时间:</span> <input name="asampletbl.birthday" id="abirthday" class="easyui-datebox" currentText='今天' closeText='关闭' formatter="formatDate"> <a href="#" class="easyui-linkbutton" iconAlign="right" data-options="iconCls:'icon-search'" onclick="doSearch()">查询</a> <a href="#" class="easyui-linkbutton" iconAlign="right" data-options="iconCls:'icon-undo'" onclick="Javascript:$('#tb').form('clear')">清空</a> <!-- <a href="#" class="easyui-linkbutton" iconAlign="right" data-options="iconCls:'icon-remove'" onclick="dodelete()">删除</a> <a href="#" class="easyui-linkbutton" iconAlign="right" data-options="iconCls:'icon-add'" onclick="doadd()">添加</a> --> <a href="#" class="easyui-linkbutton" iconAlign="right" data-options="iconCls:'icon-add'" onclick="window.parent.addTab('tabId_infoCreate','信息新增','<%=root%>/createInfo.do')">添加</a> <!-- <a href="#" class="easyui-linkbutton" iconAlign="right" data-options="iconCls:'icon-edit'" onclick="doedit()">修改</a> --> </form> </div> </body> </html> js $(function() { console.info($("#tt").parent().width() - 2); $('#tt').datagrid({ url : root + "/getInfoList.do", title : '信息列表',//文字提示 iconCls : 'icon-ok', fitColumns : true, width : $("#tt").parent().width() - 2,//长度 height : 20,//高度 pageSize : 10,//默认每页多少行 pageList : [ 10, 20, 30, 40, 50 ],//可以选择每页多少行 collapsible:true, nowrap : false, striped : true, collapsible : true, loadMsg : '数据装载中......',//等待页面的时候,显示的内容 toolbar : "#tb",//工具栏 调用ID为tb的div,将工具栏嵌套进去 frozenColumns : [ [ { field : 'ck', checkbox : true } ] ], columns:[[{field:'id',title:'主键',width:30,hidden:true}, {field:'title',title:'信息标题',width:30, align:'center'}, {field:'operater',title:'发送人',width:30, align:'center'}, {field:'opertime',title:'发送时间',width:30, align:'center'} ]], pagination : true,//启动分页效果 rownumbers : true, // 显示行数 singleSelect: true // 只选择一行 }); }); Controller /** * 查询发送信息列表 * * @param request * @param model * @return * @throws Exception */ @RequestMapping(value="/getInfoList.do") @ResponseBody public Map<String, Object> getInfoList(int page,int rows) throws Exception { log.info("查询发送信息开始"); int start = (page-1)*rows; List<Info> users = infoAccessService.getAll(start,rows); int total = infoAccessService.getNumber(); Map<String, Object> map = new HashMap<String, Object>(); map.put("total", total); map.put("rows", users); log.info("查询发送信息结束"); return map; } 以上是我的代码,在返回结果时总是无法加载 ```
easyUI,datagrid展示数据时两栏标题时标题跟数据错位(一栏标题时正常)
$('#searchCount').datagrid({ url: '${ctx }/statistics/getFCPolicySummary', width:'100%', height:'auto', autoRowHeight: false, striped: true, queryParams:param, nowrap:false, collapsible:true, pageSize: 10, pageNumber:1, pageList : [10,15,20,25], columns:[ [{title:'净费或营改增前保费',colspan:4,align:'center',width:'63%'}, {title:'保险关系人信息',colspan:2,align:'center' ,width:'18%'}, {title:'费用信息',colspan:8,align:'center',width:'64%'}, {title:'',colspan:8,align:'center',width:'78%'}, {title:'',colspan:16,align:'center',width:'151%'}, {title:'工程信息',colspan:3,align:'center',width:'45%'}, {title:'净费或营改增前保费',colspan:3,align:'center',width:'24%'}, {title:'',colspan:6,align:'center',width:'62%'}, {title:'货运险信息',colspan:3,align:'center',width:'45%'} ], [{title:'保单号',field:'policyno',align:'center',width:'20%'}, {title:'投保单号',field:'applyno',align:'center',width:'20%'}, {title:'续保标志',field:'xbflag',align:'center',width:'8%'}, {title:'上年保单',field:'oldpolicyno',align:'center',width:'15%'}, {title:'被保人',field:'insuredname',align:'center',width:'8%'}, {title:'投保人',field:'holdername',align:'center',width:'10%'}, {title:'原始保额',field:'orgamount',align:'center',width:'8%'}, {title:'原始保费',field:'orgpremium',align:'center',width:'8%'}, {title:'原始我方保费',field:'orgourpremium',align:'center',width:'8%'}, {title:'原始手续费',field:'orgcostfee',align:'center',width:'8%'}, {title:'当前保额',field:'newamount',align:'center',width:'8%'}, {title:'当前保费',field:'newpremium',align:'center',width:'8%'}, {title:'当前我方保费',field:'newourpremium',align:'center',width:'8%'}, {title:'当前手续费',field:'newcostfee',align:'center',width:'8%'}, {title:'核保日期',field:'underwriteenddate',align:'center',width:'8%'}, {title:'起保日期',field:'startdate',align:'center',width:'10%'}, {title:'终保日期',field:'enddate',align:'center',width:'8%'}, {title:'代理',field:'agentname',align:'center',width:'8%'}, {title:'经办人',field:'jbuser',align:'center',width:'8%'}, {title:'归属人',field:'gsuser',align:'center',width:'8%'}, {title:'归属部门',field:'comcname',align:'center',width:'20%'}, {title:'操作员',field:'czuser',align:'center',width:'8%'}, {title:'他方货币类型',field:'currency',align:'center',width:'8%'}, {title:'产品',field:'classcode',align:'center',width:'8%'}, {title:'险种',field:'riskcode',align:'center',width:'8%'}, {title:'被保人证件号/组织机构代码',field:'identifynumber',align:'center',width:'15%'}, {title:'投保人证件号/组织机构代码',field:'tIdentifynumber',align:'center',width:'15%'}, {title:'代支公司',field:'branchcode',align:'center',width:'8%'}, {title:'被保人代码',field:'insuredcode',align:'center',width:'15%'}, {title:'团号',field:'certificateno',align:'center',width:'8%'}, {title:'联共保标志',field:'coinsflag',align:'center',width:'8%'}, {title:'国名经济代码',field:'businesssource',align:'center',width:'8%'}, {title:'占用性质',field:'possessnature',align:'center',width:'8%'}, {title:'行业分类代码',field:'businessclass',align:'center',width:'8%'}, {title:'核保方式',field:'underwriteflag',align:'center',width:'8%'}, {title:'项目名称',field:'businesssite',align:'center',width:'10%'}, {title:'投保人证件号/组织机构代码',field:'承保审批单号',align:'center',width:'8%'}, {title:'海外标志',field:'specialflag',align:'center',width:'8%'}, {title:'类别',field:'insuredcode',align:'center',width:'15%'}, {title:'名称',field:'constructName',align:'center',width:'15%'}, {title:'地址',field:'constructaddress',align:'center',width:'15%'}, {title:'原始净保费',field:'oldnetpremium',align:'center',width:'8%'}, {title:'原始我方净保费',field:'oldournetpremium',align:'center',width:'8%'}, {title:'最新净保费',field:'newnetpremium',align:'center',width:'8%'}, {title:'最新我方净保费',field:'newournetpremium',align:'center',width:'8%'}, {title:'项目标识代码',field:'platformprojectcode',align:'center',width:'15%'}, {title:'复核人员',field:'checkupuser',align:'center',width:'15%'}, {title:'被保人类型',field:'insuredtype',align:'center',width:'8%'}, {title:'投保人类型',field:'tInsuredtype',align:'center',width:'8%'}, {title:'手续费费率',field:'costrate',align:'center',width:'8%'}, {title:'提单号',field:'ladingno',align:'center',width:'15%'}, {title:'发票号',field:'invoiceno',align:'center',width:'15%'}, {title:'目的地',field:'endsitename',align:'center',width:'15%'}, ]], pagination:true, //分页控件 rownumbers:true, //行号 fitColumns:true, emptyMsg : '没有相关数据', onBeforeLoad:function(param){ param.pageSize = param.rows; param.pageNo = param.page; }, onLoadSuccess: function (data) { autoHeight(); } });
easy ui datagrid 没有请求url指定的servlet
问题: 直接访问servlet可以得到数据: ![图片说明](https://img-ask.csdn.net/upload/201704/26/1493184117_370983.jpg) 但是通过通过页面访问发现datagrid 根本就不发送请求: ![图片说明](https://img-ask.csdn.net/upload/201704/26/1493184317_140963.jpg) 页面: ``` <%@ 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"> <title>Insert title here</title> <script type="text/javascript" src="../../jslib/jqueryjs/jquery-1.9.1.main"></script> <!-- 2 css资源 --> <link rel="stylesheet" type="text/css" href="../../css/jquerycss/easyui.css"> <!-- 3、图标资源 --> <link rel="stylesheet" type="text/css" href="../../css/jquerycss/icon.css"> <!-- 4、easyui的js包 --> <script type="text/javascript" src="../../jslib/jqueryjs/jquery.easyui.min.js"></script> <!-- 5、本地语言 --> <script type="text/javascript" src="../../jslib/jqueryjs/easyui-lang-zh_CN.js"></script> </head> <body> <script type="text/javascript"> $(function(){ //创建data_grid $("#st").datagrid({ url:'/JsonServlet', //数据来源 //列的定义 columns:[[ {field:'id',title:'用户ID',width:50}, {field:'name',title:'用户姓名',width:50}, {field:'passWord',title:'用户密码',width:50,align:'right'} ]], fitColumns:true,//列自适应宽度,不能和冻结列同时设置为true striped:true,//斑马线效果 idField:'id',//主键列 rownumbers:true,//显示行号 singleSelect:false,//是否单选 pagination:true,//显示分页栏 pageList:[10,20,50,100],//每页行数选择列表 pageSize:10,//出事每页行数 remoteSort:false,//是否服务器端排序,设成false,才能客户端排序 sortName:'sclass'//设置排序列 }); }) </script> <table id="st"></table> </body> </html> ``` JsonServlet: ``` package com.climberclimbing.github.io.servlet; import java.io.IOException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.climberclimbing.github.io.dao.AdminDaoImp; import com.climberclimbing.github.io.model.*; import net.sf.json.JSONArray; public class JsonServlet extends HttpServlet{ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ArrayList <Admin> admins=new ArrayList<Admin>(); AdminDaoImp adminDaoImp = new AdminDaoImp(); admins = adminDaoImp.getAllAdmin(); JSONArray result = JSONArray.fromObject(admins); String JsonResult = "{\"total\":"+admins.size()+","+"\"rows\":"+result.toString()+"}"; System.out.println(JsonResult); resp.getWriter().write(JsonResult); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub doGet(req, resp); } } ```
淘淘商城运行users.jsp页面出现400错误。
![图片说明](https://img-ask.csdn.net/upload/201909/12/1568267628_637428.png) 上面的是项目的的文件列表。 cn.itcast.usermanage.controller包 PageController.java文件代码 ``` package cn.itcast.usermanage.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; /** * 通用的页面跳转逻辑 * * @author * */ @Controller @RequestMapping("page") public class PageController { /** * 具体的跳转页面逻辑 -- test4 * * @param pageName * @return 视图名 */ @RequestMapping(value = "{pageName}", method = RequestMethod.GET) public String toPage(@PathVariable("pageName") String pageName) { return pageName; } } ``` mybatis.xml代码 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` spring文件代码区 applicationContext-mybatis.xml文件代码区 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` applicationContext-transaction.xml代码区 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` applicationContext.xml代码区 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` itcast-usermanage-servlet.xml代码区 ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 分页助手 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> </plugin> <!-- 通用mapper --> <plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor"> <!--主键自增回写方法,默认值MYSQL,详细说明请看文档 --> <property name="IDENTITY" value="MYSQL" /> <!--通用Mapper接口,多个通用接口用逗号隔开 --> <property name="mappers" value="com.github.abel533.mapper.Mapper" /> </plugin> </plugins> </configuration> ``` web.xml文件 ``` <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>itcast-usermanage</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext*.xml</param-value> </context-param> <!--Spring的ApplicationContext 载入 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 编码过滤器,以UTF8编码 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 解决PUT请求无法提交表单数据的问题 --> <filter> <filter-name>HttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class> </filter> <filter-mapping> <filter-name>HttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 将POST请求转化为DELETE或者是PUT 要用_method指定真正的请求方法 --> <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping> <filter-name>HiddenHttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 配置SpringMVC框架入口 --> <servlet> <servlet-name>itcast-usermanage</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/itcast-usermanage-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>itcast-usermanage</servlet-name> <!-- 可行:/、*.xxx、/xxx/* 不行:/* --> <url-pattern>/rest/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- ________________________________ --> <context-param> <param-name>spring.profiles.active</param-name> <param-value>dev</param-value> </context-param> <context-param> <param-name>spring.profiles.default</param-name> <param-value>dev</param-value> </context-param> <context-param> <param-name>spring.liveBeansView.mbeanDomain</param-name> <param-value>dev</param-value> </context-param> <!-- ________________________________ --> </web-app> ``` 还有的就是,我的tomcat默认是localhost:8080 运行tomcat报错图片 ![图片说明](https://img-ask.csdn.net/upload/201909/12/1568267939_567846.png) 求大佬帮我看看那里出了问题,找了一天了。还是没找到那里有问题!! 一直是400错误! users.jsp代码 ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>会员管理系统</title> <link rel="stylesheet" type="text/css" href="/js/jquery-easyui-1.4/themes/default/easyui.css" /> <link rel="stylesheet" type="text/css" href="/js/jquery-easyui-1.4/themes/icon.css" /> <script type="text/javascript" src="/js/jquery-easyui-1.4/jquery.min.js"></script> <script type="text/javascript" src="/js/jquery-easyui-1.4/jquery.easyui.min.js"></script> <script type="text/javascript" src="/js/jquery-easyui-1.4/locale/easyui-lang-zh_CN.js"></script> <script type="text/javascript" src="/js/common.js"></script> </head> <body> <div> <table class="easyui-datagrid" id="userList" title="会员列表" data-options="singleSelect:false,collapsible:true,pagination:true,url:'/user/list',method:'post',pageSize:5,toolbar:toolbar,pageList:[2,5,10]"> <thead> <tr> <th data-options="field:'ck',checkbox:true"></th> <th data-options="field:'id',width:60">ID</th> <th data-options="field:'userName',width:200">用户名</th> <th data-options="field:'name',width:100">姓名</th> <th data-options="field:'age',width:100">年龄</th> <th data-options="field:'sex',width:80,align:'right',formatter:formatSet">性别</th> <th data-options="field:'birthday',width:80,align:'right',formatter:formatBirthday">出生日期</th> <th data-options="field:'created',width:130,align:'center',formatter:formatDate">创建日期</th> <th data-options="field:'updated',width:130,align:'center',formatter:formatDate">更新日期</th> </tr> </thead> </table> </div> <div id="userAdd" class="easyui-window" title="新增会员" data-options="modal:true,closed:true,iconCls:'icon-save',href:'/user/page/add'" style="width:800px;height:600px;padding:10px;"> The window content. </div> <script type="text/javascript"> function formatDate(val,row){ var now = new Date(val); return now.format("yyyy-MM-dd hh:mm:ss"); } function formatBirthday(val,row){ var now = new Date(val); return now.format("yyyy-MM-dd"); } function formatSet(val,row){ if(val == 1){ return "男"; }else if(val == 2){ return "女"; }else{ return "未知"; } } function getSelectionsIds(){ var userList = $("#userList"); var sels = userList.datagrid("getSelections"); var ids = []; for(var i in sels){ ids.push(sels[i].id); } ids = ids.join(","); return ids; } var toolbar = [{ text:'新增', iconCls:'icon-add', handler:function(){ $('#userAdd').window('open'); } },{ text:'编辑', iconCls:'icon-edit', handler:function(){ $.messager.alert('提示','该功能由学员自己实现!'); } },{ text:'删除', iconCls:'icon-cancel', handler:function(){ var ids = getSelectionsIds(); if(ids.length == 0){ $.messager.alert('提示','未选中用户!'); return ; } $.messager.confirm('确认','确定删除ID为 '+ids+' 的会员吗?',function(r){ if (r){ $.post("/user/delete",{'ids':ids}, function(data){ if(data.status == 200){ $.messager.alert('提示','删除会员成功!',undefined,function(){ $("#userList").datagrid("reload"); }); } }); } }); } },'-',{ text:'导出', iconCls:'icon-remove', handler:function(){ var optins = $("#userList").datagrid("getPager").data("pagination").options; var page = optins.pageNumber; var rows = optins.pageSize; $("<form>").attr({ "action":"/user/export/excel", "method":"POST" }).append("<input type='text' name='page' value='"+page+"'/>") .append("<input type='text' name='rows' value='"+rows+"'/>").submit(); } }]; </script> </body> </html> ``` ![图片说明](https://img-ask.csdn.net/upload/201909/16/1568593584_158545.png)
ssh 实体对象转jason 前台无法显示
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <%@ include file="/public/head.jspf" %> <style type="text/css"> body { margin: 1px; } .searchbox { margin: -3; } </style> <script type="text/javascript"> $(function(){ $('#dg').datagrid({ //url地址改为请求categoryAction url:'forder_queryJoinUser.action', loadMsg:'Loading......', queryParams:{username:''}, fitColumns:true,//水平自动展开,如果设置此属性,则不会有水平滚动条,演示冻结列时,该参数不要设置 striped:true, //当数据多的时候不换行 nowrap:true, singleSelect:false, //如果为真,只允许单行显示,全显功能失效 //设置分页 pagination:true, //设置每页显示的记录数 pageSize:10, //设置可选的每页记录数,供用户选择,默认是10,20,30,40... pageList:[5,10,15,20], idField:'id',//指定id为标识字段,在删除,更新的时候有用,如果配置此字段,在翻页时,换页不会影响选中的项 toolbar: [{ iconCls: 'icon-edit', text:'更新订单', handler: function(){ //判断是否有选中行记录,使用getSelections获取选中的所有行 var rows = $("#dg").datagrid("getSelections"); if(rows.length == 0) { //弹出提示信息 $.messager.show({ //语法类似于java中的静态方法,直接对象调用 title:'错误提示', msg:'至少要选择一条记录', timeout:2000, showType:'slide', }); }else if(rows.length != 1) { //弹出提示信息 $.messager.show({ //语法类似于java中的静态方法,直接对象调用 title:'错误提示', msg:'每次只能更新一条记录', timeout:2000, showType:'slide', }); } else{ //弹出更新的页面 parent.$("#win").window({ title:"更新订单", width:350, height:250, content:'<iframe src="send_order_update.action" frameborder="0" width="100%" height="100%"/>' }); } } },'-',{ iconCls: 'icon-remove', text:'删除订单', handler: function(){ //判断是否有选中行记录,使用getSelections获取选中的所有行 var rows = $("#dg").datagrid("getSelections"); //返回被选中的行,如果没有任何行被选中,则返回空数组 if(rows.length == 0) { //弹出提示信息 $.messager.show({ title:'错误提示', msg:'至少要选择一条记录', timeout:2000, showType:'slide', }); } else { //提示是否确认删除,如果确认则执行删除的逻辑 $.messager.confirm('删除的确认对话框', '您确定要删除此项吗?', function(r){ if (r){ //1. 从获取的记录中获取相应的的id,拼接id的值,然后发送后台1,2,3,4 var ids = ""; for(var i = 0; i < rows.length; i ++) { ids += rows[i].id + ","; } ids = ids.substr(0, ids.lastIndexOf(",")); //2. 发送ajax请求 $.post("forder_deleteByIds.action",{ids:ids},function(result){ if(result == "true") { //将刚刚选中的记录删除,要不然会影响后面更新的操作 $("#dg").datagrid("uncheckAll"); //刷新当前页,查询的时候我们用的是load,刷新第一页,reload是刷新当前页 $("#dg").datagrid("reload");//不带参数默认为上面的queryParams } else { $.messager.show({ title:'删除异常', msg:'删除失败,请检查操作', timeout:2000, showType:'slide', }); } },"text"); } }); } } },'-',{ //查询按钮不是LinkButton,它有语法,但是也支持解析HTML标签 text:"<input id='ss' name='serach' />" }], rowStyler: function(index,row){ console.info("index" + index + "," + row) if(index % 2 == 0) { return 'background-color:#fff;'; } else { return 'background-color:#c4e1e1;'; } }, //同列属性,但是这些列将会冻结在左侧,大小不会改变,当宽度大于250时,会显示滚动条,但是冻结的列不在滚动条内 frozenColumns:[[ {field:'checkbox',checkbox:true}, {field:'id',title:'编号',width:60} ]], columns:[[ {field:'name',title:'收货人姓名',width:80}, {field:'phone',title:'收货人电话',width:100}, {field:'remark',title:'买家留言',width:100}, {field:'date',title:'创建日期',width:100}, {field:'total',title:'订单总价',width:100}, {field:'address',title:'收货地址',width:150}, {field:'user.id',title:'买家id',width:60}, {field:'user.login',title:'买家登录名',width:80}, {field:'status.status',title:'订单状态',width:100} ]] }); //把普通的文本框转化为查询搜索文本框 $('#ss').searchbox({ //触发查询事件 searcher:function(value,username){ //value表示输入的值 //获取当前查询的关键字,通过DataGrid加载相应的信息,使用load加载和显示第一页的所有行。 //如果指定了参数,它将取代'queryParams'属性。通常可以通过传递一些参数执行一次查询,通过调用这个方法会向上面url指定的action去发送请求,从服务器加载新数据。 $('#dg').datagrid('load',{ username: value }); }, prompt:'请输入搜索关键字' }); }); </script> </head> <body> <table id="dg"></table> </body> </html> `jsp代码 下面action: public String queryJoinUser() { // 用来存储分页的数据 pageMap = new HashMap<String, Object>(); System.out.println(username); // 根据关键字和分页的参数查询相应的数据 List<Forder> forderList = forderService.queryJoinUser(username, page, rows); pageMap.put("\"rows\"", forderList); pageMap.put("\"total\"", forderService.getCount(username)); System.out.println(pageMap); return "jsonMap"; } struts.xml <action name="forder_*" class="forderAction" method="{1}"> <result name="jsonMap" type="json"> <param name="root">pageMap</param> <param name="excludeProperties"> rows\[\d+\]\.post, rows\[\d+\]\.user\.pass, rows\[\d+\]\.user\.sex, rows\[\d+\]\.user\.phone, rows\[\d+\]\.user\.email, rows\[\d+\]\.status\.id </param> </result> <result name="bank"> /user/bank.jsp </result> </action> 执行后pageMap的输出: {"total"=1, "rows"=[Forder [id=1, name=张小, phone=1851663595, remark=是否被, date=null, total=14.00, post=4325232, addressrk=, date=null, total=100.00, post=dcvdf, address=市场v吃饭的]]} `` 没有报任何错误就是不显示![图片说明](https://img-ask.csdn.net/upload/201706/07/1496767475_187876.png) ``` ``` ```
在线等我后台传输到前台的数据为什么显示不出来(500错误 )
``` <table class="easyui-datagrid" id="itemList" title="商品列表" data-options="singleSelect:false,collapsible:true,pagination:true,url:'/rest/item',method:'get',pageSize:30,toolbar:toolbar"> <thead> <tr> <th data-options="field:'ck',checkbox:true"></th> <th data-options="field:'id',width:60">商品ID</th> <th data-options="field:'title',width:200">商品标题</th> <th data-options="field:'cid',width:100">叶子类目</th> <th data-options="field:'sellPoint',width:100">卖点</th> <th data-options="field:'price',width:70,align:'right',formatter:TAOTAO.formatPrice">价格</th> <th data-options="field:'num',width:70,align:'right'">库存数量</th> <th data-options="field:'barcode',width:100">条形码</th> <th data-options="field:'status',width:60,align:'center',formatter:TAOTAO.formatItemStatus">状态</th> <th data-options="field:'created',width:130,align:'center',formatter:TAOTAO.formatDateTime">创建日期</th> <th data-options="field:'updated',width:130,align:'center',formatter:TAOTAO.formatDateTime">更新日期</th> </tr> </thead> </table> ``` 这些是页面的请求; 后台代码: //查询商品列表; @RequestMapping(method=RequestMethod.GET) public ResponseEntity<EasyUIResult> queryItemList( @RequestParam(value="page",defaultValue="1") Integer pageNum, @RequestParam(value="rows", defaultValue="30") Integer pageSize){ //因为easyui数据表格需要两个数据去做分页显示 try { EasyUIResult easy=itemService.queryOrderbyCreated(pageNum,pageSize); if(easy == null){ ResponseEntity.status(HttpStatus.NOT_FOUND).body(null); }else { ResponseEntity.ok(easy); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); } 业务层: public EasyUIResult queryOrderbyCreated(Integer page, Integer rows) { //将查询出来的数据封装到easyuiresult中去; PageHelper.startPage(page,rows); Example example=new Example(Item.class); //调用商品的映射去向数据库发送查询 List<Item> selectByExample = this.itemMapper.selectByExample(example); System.out.println(selectByExample.size()); PageInfo<Item> info = new PageInfo<Item>(selectByExample); return new EasyUIResult(info.getTotal(), info.getList()); } 查询结果: mapper查询的时候是有结果的: Preparing: SELECT CID,ID,UPDATED,STATUS,PRICE,CREATED,IMAGE,BARCODE,SELL_POINT SELLPOINT,TITLE,NUM FROM tb_item limit ?,? [DEBUG] ==> Parameters: 0(Integer), 30(Integer) ItemMapper.selectByExample_PageHelper]-[DEBUG] <== Total: 4 2016-10-01 19:41:56,645 [http-bio-8081-exec-2] [org.mybatis.spring.SqlSessionUtils]-[DEBUG] Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7c4159a6] 2016-10-01 19:41:56,645 [http-bio-8081-exec-2] [org.mybatis.spring.SqlSessionUtils]-[DEBUG] Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7c4159a6] 2016-10-01 19:41:56,645 [http-bio-8081-exec-2] [org.mybatis.spring.SqlSessionUtils]-[DEBUG] Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7c4159a6] 2016-10-01 19:41:56,645 [http-bio-8081-exec-2] [org.springframework.jdbc.datasource.DataSourceTransactionManager]-[DEBUG] Initiating transaction commit 2016-10-01 19:41:56,645 [http-bio-8081-exec-2] [org.springframework.jdbc.datasource.DataSourceTransactionManager]-[DEBUG] Committing JDBC transaction on Connection [ConnectionHandle{url=jdbc:mysql://127.0.0.1:3306/taotao?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true, user=root, debugHandle=null, lastResetAgoInSec=0, lastUsedAgoInSec=0, creationTimeAgoInSec=0}] 2016-10-01 19:41:56,646 [http-bio-8081-exec-2] [org.springframework.jdbc.datasource.DataSourceUtils]-[DEBUG] Resetting read-only flag of JDBC Connection [ConnectionHandle{url=jdbc:mysql://127.0.0.1:3306/taotao?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true, user=root, debugHandle=null, lastResetAgoInSec=0, lastUsedAgoInSec=0, creationTimeAgoInSec=0}] 2016-10-01 19:41:56,646 [http-bio-8081-exec-2] [org.springframework.jdbc.datasource.DataSourceTransactionManager]-[DEBUG] Releasing JDBC Connection [ConnectionHandle{url=jdbc:mysql://127.0.0.1:3306/taotao?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true, user=root, debugHandle=null, lastResetAgoInSec=0, lastUsedAgoInSec=0, creationTimeAgoInSec=0}] after transaction 2016-10-01 19:41:56,646 [http-bio-8081-exec-2] [org.springframework.jdbc.datasource.DataSourceUtils]-[DEBUG] Returning JDBC Connection to DataSource 2016-10-01 19:41:56,693 [http-bio-8081-exec-2] [org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdviceChain]-[DEBUG] Invoking ResponseBodyAdvice chain for body=null 2016-10-01 19:41:56,693 [http-bio-8081-exec-2] [org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdviceChain]-[DEBUG] After ResponseBodyAdvice chain body=null 2016-10-01 19:41:56,693 [http-bio-8081-exec-2] [org.springframework.web.servlet.DispatcherServlet]-[DEBUG] Null ModelAndView returned to DispatcherServlet with name 'taotao-manage': assuming HandlerAdapter completed request handling 2016-10-01 19:41:56,693 [http-bio-8081-exec-2] [org.springframework.web.servlet.DispatcherServlet]-[DEBUG] Successfully completed request NetworkError: 500 Internal Server Error
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
源码阅读(19):Java中主要的Map结构——HashMap容器(下1)
(接上文《源码阅读(18):Java中主要的Map结构——HashMap容器(中)》) 3.4.4、HashMap添加K-V键值对(红黑树方式) 上文我们介绍了在HashMap中table数组的某个索引位上,基于单向链表添加新的K-V键值对对象(HashMap.Node&lt;K, V&gt;类的实例),但是我们同时知道在某些的场景下,HashMap中table数据的某个索引位上,数据是按照红黑树
c++制作的植物大战僵尸,开源,一代二代结合游戏
    此游戏全部由本人自己制作完成。游戏大部分的素材来源于原版游戏素材,少部分搜集于网络,以及自己制作。 此游戏为同人游戏而且仅供学习交流使用,任何人未经授权,不得对本游戏进行更改、盗用等,否则后果自负。 目前有六种僵尸和六种植物,植物和僵尸的动画都是本人做的。qq:2117610943 开源代码下载 提取码:3vzm 点击下载--&gt; 11月28日 新增四种植物 统一植物画风,全部修
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
深度学习图像算法在内容安全领域的应用
互联网给人们生活带来便利的同时也隐含了大量不良信息,防范互联网平台有害内容传播引起了多方面的高度关注。本次演讲从技术层面分享网易易盾在内容安全领域的算法实践经验,包括深度学习图
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程实用技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法,并会持续更新。
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
"狗屁不通文章生成器"登顶GitHub热榜,分分钟写出万字形式主义大作
GitHub 被誉为全球最大的同性交友网站,……,陪伴我们已经走过 10+ 年时间,它托管了大量的软件代码,同时也承载了程序员无尽的欢乐。 万字申请,废话报告,魔幻形式主义大作怎么写?兄dei,狗屁不通文章生成器了解一下。这个富有灵魂的项目名吸引了众人的目光。项目仅仅诞生一周,便冲上了GitHub趋势榜榜首(Js中文网 -前端进阶资源教程)、是榜首哦
推荐几款比较实用的工具,网站
1.盘百度PanDownload 这个云盘工具是免费的,可以进行资源搜索,提速(偶尔会抽风????) 不要去某站买付费的???? PanDownload下载地址 2.BeJSON 这是一款拥有各种在线工具的网站,推荐它的主要原因是网站简洁,功能齐全,广告相比其他广告好太多了 bejson网站 3.二维码美化 这个网站的二维码美化很好看,网站界面也很...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
Spring Security 实战干货:基于注解的接口角色访问控制
1. 前言 欢迎阅读 Spring Security 实战干货[1] 系列文章 。在上一篇 基于配置的接口角色访问控制[2] 我们讲解了如何通过 javaConfig 的方式配置接口的角色访问控制。其实还有一种更加灵活的配置方式 基于注解 。今天我们就来探讨一下。DEMO 获取方式在文末。 2. Spring Security 方法安全 Spring Security 基于注解的安全...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
碎片化的时代,如何学习
今天周末,和大家聊聊学习这件事情。 在如今这个社会,我们的时间被各类 APP 撕的粉碎。 刷知乎、刷微博、刷朋友圈; 看论坛、看博客、看公号; 等等形形色色的信息和知识获取方式一个都不错过。 貌似学了很多,但是却感觉没什么用。 要解决上面这些问题,首先要分清楚一点,什么是信息,什么是知识。 那什么是信息呢? 你一切听到的、看到的,都是信息,比如微博上的明星出轨、微信中的表情大战、抖音上的...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
相关热词 c#处理浮点数 c# 生成字母数字随机数 c# 动态曲线 控件 c# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问