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值
接近 5 年之前 回复
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.
接近 5 年之前 回复
xy_makq
xy_makq 如果没有提供API修改,那就不动这两个参数,自己搞2个参数,多谢啊。
接近 5 年之前 回复

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

xy_makq
xy_makq 恩,想用这两个现成的参数。
接近 5 年之前 回复

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

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

这样是没问题的,主要是后台数据分页,我用了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); } } ```
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) ``` ``` ```
淘淘商城运行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)
在线等我后台传输到前台的数据为什么显示不出来(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
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
小白学 Python 爬虫(25):爬取股票信息
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
世界上最牛的网络设备,价格低廉,其貌不扬......
夜深人静,电视和电脑都已经关机休息,但是我还在默默工作,我安静地趴在你家中的某个地方,7*24小时不眠不休,任劳任怨,目的只有一个,能让你舒服地躺在床上,畅快地刷手机!没错,这就是我,...
《面试宝典》2019年springmvc面试高频题(java)
前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季。那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情。 当然,不论选择如何,假如你真的准备在之后的金三银四跳槽的话,那么作为一个Java工程师,就不可不看了。如何在几个月的时间里,快速的为即将到来的面试进行充分的准备呢? 1、什么是Spring MVC ?简单...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试一个ArrayList我都能跟面试官扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
2020年1月中国编程语言排行榜,python是2019增长最快编程语言
编程语言比例 排名 编程语言 最低工资 工资中位数 最低工资 最高工资 人头 人头百分比 1 rust 20713 17500 5042 46250 480 0.14% 2 typescript 18503 22500 6000 30000 1821 0.52% 3 lua 18150 17500 5250 35000 2956 0.84% 4 go 17989 16...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
工作十年的数据分析师被炒,没有方向,你根本躲不过中年危机
2020年刚刚开始,就意味着离职潮高峰的到来,我身边就有不少人拿着年终奖离职了,而最让我感到意外的,是一位工作十年的数据分析师也离职了,不同于别人的主动辞职,他是被公司炒掉的。 很多人都说数据分析是个好饭碗,工作不累薪资高、入门简单又好学。然而今年34的他,却真正尝到了中年危机的滋味,平时也有不少人都会私信问我: 数据分析师也有中年危机吗?跟程序员一样是吃青春饭的吗?该怎么保证自己不被公司淘汰...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
一文带你看清 HTTP 所有概念
上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性。我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍 通用...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
立即提问