Jquery Easyui datagrid如何在动态获取当前选中行的值

easyui grid列是动态生成的,现在想要获取第一列的值,单是该列的名字因为是动态获取的,所以名字不固定。
使用easyui选中的方法
var ids = [];
var rows = $('#tt').datagrid('getSelections');
for(var i=0; i<rows.length; i++){
ids.push(rows[i].itemid);
}
alert(ids.join('\n'));
但是没办法使用row[i][0]
请问怎么才能动态获取选中行的列值

1个回答

返回的是rows数组项是json对象,不是数组,无法通过下标获取,你需要通过dom关系找到第一列的列名称,然后通过rows[i][名称]来获取

var colName=$('#tt').parent().find('table.datagrid-htable td:eq(0)').attr('field');//得到第一列的名称
var ids = [];
var rows = $('#tt').datagrid('getSelections');
for(var i=0; i<rows.length; i++){
ids.push(rows[i][colName]);/////
}
alert(ids.join('\n'));
dyjeery
莫舍桥西 谢谢,获取colname的方法var colName = $("#grid").datagrid('getColumnFields')[0];
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
JQuery-EasyUI DataGrid数据表格删除多项数据,第一个选项报NaN错误
今天写项目遇到了删除不了数据的情况,选择了多项数据进行删除,第一项总是报NaN错误,获取不了id,不知道是哪里出了问题?在这里请教一下老师们。 jsp页面代码: { text:"删除", iconCls:"icon-remove", handler:function(){ //找到datagrid表格中所选中的行 $("#tt").datagrid("reload",{}); var rows=$("#tt").datagrid("getSelections"); //alert($("tt").datagrid("getRowIndex")); alert(rows); if(rows.length<=0) { $.messager.show({ width:200, height:100, title:"提示信息", msg:"至少要选择一条记录进行删除!" }); }else{ for(var i=0;i<rows.length;i++) { var ids=ids+rows[i].id+"," } //删除最后一个逗号 ids=ids.substring(0,ids.length-1); alert(ids); $.messager.confirm("确认信息","您确定要删除吗?",function(bol){ if(bol) { $.post("/project18/client/clientAction_delete","method=delete&ids="+ids,function(data){ $.messager.show({ width:200, height:100, title:"提示信息", msg:data.message }); //刷新datagrid $("#tt").datagrid("unselectAll",{}); $("#tt").datagrid("reload",{}); },"json"); }else{ $("#tt").datagrid("clearSelections"); } }); } } }, 控制层代码: @RequestMapping("clientAction_delete") public void delete(HttpServletRequest request,HttpServletResponse response) throws IOException{ String ids=request.getParameter("ids"); System.out.println(ids); String[] id=ids.split(","); int[] idss=new int[id.length]; for(int i=0;i<id.length;i++){ idss[i]=Integer.parseInt(id[i]); clientService.delete(CClient.class, idss[i]); } response.setContentType("json;charset=utf-8"); response.getWriter().print("{\"message\":\"删除成功\"}"); } ![图片说明](https://img-ask.csdn.net/upload/201710/24/1508845590_644337.png)
JQuery easyUi dataGrid工具栏 怎么添加搜索输入框
function rollback(Data){ var userData = eval("("+ Data.userList+")"); //生成dataGrid $('#test').datagrid({ title:'用户信息表', iconCls:'icon-edit', // url:'getData.action', loadMsg:'数据加载中,请稍后...', width:'auto', height:420, rownumbers:true, pagination:true, singleSelect:false, idField:'userId', frozenColumns:[[ {field:'ck',checkbox:true}, {field:'userId',title:'用户编号',width:55,align:'center'}, {field:'userName',title:'用户名',width:100,editor:'text',align:'center'}, {field:'password',title:'密码',width:100,editor:'text',align:'center'}, {field:"createTime",title:'加入时间',width:130}, {field:'opt',title:'操作',width:140,align:'center', formatter:function(val,rec){ var s='<input type="button" onclick="abc('+rec.userName+')" value="'+val+'">'; var e = '<input type="button" onclick="edit()" value="修改"> '; var d = '<input type="button" onclick="deleteUser()" value="删除"> '; return s+e+d; } } ]], toolbar:[ { id:'btnadd', text:'添加用户', iconCls:'icon-adduer', handler:function(){ $('#add_w').window('open'); } },'-', { id:'btncut', text:'删除用户', iconCls:'icon-removeuser', handler:function(){ $.messager.confirm('确认','确认删除?',function(row){ if(row){ var selectedRow = $('#test').datagrid('getSelections'); //获取选中行 var userIds = []; for(var i=0;i<selectedRow.length;i++){ userIds.push(selectedRow[i].userId); } $.ajax({ url:"deleteMoreUser.action", type:"post", cache:false, data:"userId="+userIds, success:function(){ $.messager.alert('删除用户','删除用户成功!'); getData(); } }); } }) } },'-[color=red]',{ id:'search', text:'搜索', iconCls:'icon-search', handler:function(){ alert('cut') }[/color] } ] }).datagrid('loadData',userData); 请问我如何在toolbar上加一个供用户输入查询条件的输入框啊????急啊!!!!
easyui datagrid如何获得选中行的自定义列中的元素
如题。 jquery怎么获得选中行的自定义列中的一个a标签? 谢谢大家
Jquery easyui的翻页无效,一直都是第一页的数据
下面是我用easyui做的一个表格,初次加载10行数据正常,但是我点下一页的时候,后台ashx返回的result数据集是正确的,但是前台的数据就是不变,还是第一页的数据,这是为什么 这是ashx文件返回的result; case "GetList": ``` string KeyWord = context.Request["KeyWord"]; string SearchType = context.Request["SearchType"]; if (SearchType == "全部") { SearchType = null; } int PageSize = Convert.ToInt32(context.Request["rows"]); int PageNumber = Convert.ToInt32(context.Request["page"]) - 1; string result = BLL.GetNongQiList(KeyWord, SearchType, PageSize, PageNumber); context.Response.Write(result); break; ``` ``` <script type="text/javascript"> $('#tt').datagrid({ title: "友情链接列表", url: '../../../Handler/getData.ashx', pagination: true, idField: "ID", queryParams: { method: "GetLink" }, pageNumber: 1, onLoadSuccess: function (data) { if (data == "登录超时!") { top.window.location = "../../SysAdmin/Login.aspx"; } }, pageSize: 10, singleSelect: true, columns: [[ { field: 'rowIndex', title: '自动编号', width: 100 }, { field: 'linkname', title: '链接名', width: 100 }, { field: 'linkurl', title: '链接URL', width: 100 }, { field: 'type', title: '链接类型', width: 100 }, { field: 'linkImg', title: '链接图片', width: 100, formatter: function (value, rowData, rowIndex) { if (rowData.linkImg != "") { return '<a href="../../' + rowData.linkImg + '" target="_blank" style="color:black;text-decoration:none;">点击查看</a>'; } else { return "暂未上传"; } } } ]], toolbar: [ { id: 'btnadd', text: '添加', iconCls: 'icon-add', handler: function () { window.location = 'AddLink.aspx'; return false; } }, { id: 'btnUpdate', text: '修改', iconCls: 'icon-edit', handler: function () { var selectItem = $('#tt').datagrid('getSelected'); if (selectItem == null) { $.messager.alert("提示", "请选择要修改的记录!"); } else { window.location = "UpdateLink.aspx?id=" + selectItem.id } } }, { id: 'btnDelete', text: '删除', iconCls: 'icon-cut', handler: function () { var selectItem = $('#tt').datagrid('getSelections'); var ID = ""; $.each(selectItem, function (key, value) { ID += value.id; }); if (ID == "") { $.messager.alert("提示", "请选择要删除的记录!"); } else { $.messager.confirm("提示", "您确定删除选中的数据吗?", function (r) { if (r) { $.post("../../../Handler/getData.ashx", { ID: ID, method: "DeleteLink" }, function (data) { $.messager.alert("提示", data); $('#tt').datagrid('reload', { method: "GetLink" }); //更新列表 }, "html"); } }); } } }] }); </script> ```
EasyUi行编辑,新增行无法获取值?
$("#tt").datagrid('getChanges', "inserted"); 获取得到的总是remark:'',得不到值,在线求解啊 ``` var editIndex = undefined; function endEditing(){ if (editIndex == undefined){return true;} if ($('#tt').datagrid('validateRow', editIndex)){ var ed = $('#tt').datagrid('getEditor', {index:editIndex,field:'packName'}); var cn= $('#tt').datagrid('getEditor', {index:editIndex,field:'cateName'}); var pn= $('#tt').datagrid('getEditor', {index:editIndex,field:'productName'}); var sn=$('#tt').datagrid('getEditor',{index:editIndex,field:'sizeName' }) if(ed!=null){ var packName = $(ed.target).combobox('getText'); $('#tt').datagrid('getRows')[editIndex]['packName'] = packName; } if(cn!=null){ var cateName = $(ed.target).combobox('getText'); $('#tt').datagrid('getRows')[editIndex]['packName'] = cateName; } if(pn!=null){ var productName = $(ed.target).combobox('getText'); $('#tt').datagrid('getRows')[editIndex]['productName'] = productName; } if(sn!=null){ var sizeName = $(ed.target).combobox('getText'); $('#tt').datagrid('getRows')[editIndex]['sizeName'] = sizeName; } //var cateName=$(cn.target).combobox('getText'); //$('#tt').datagrid('getRows')[editIndex]['cateName'] = cateName; $('#tt').datagrid('endEdit', editIndex); editIndex = undefined; return true; } else { return false; } } function onClickRow(index){ if (editIndex != index){ if (endEditing()){ $('#tt').datagrid('selectRow', index) .datagrid('beginEdit', index); editIndex = index; } else { $('#tt').datagrid('selectRow', editIndex); } } } function append(){ if (endEditing()){ //1 先取消所有的选中状态 $('#tt').datagrid('unselectAll'); //2追加一行 $('#tt').datagrid('appendRow',{ remark:'' }); //3获取当前页的行号 editing = $('#tt').datagrid('getRows').length -1; //4选中并开启编辑状态 $('#tt').datagrid('selectRow',editing); $('#tt').datagrid('beginEdit', editing); /* $('#tt').datagrid('appendRow',{status:'P'}); editIndex = $('#tt').datagrid('getRows').length-1; $('#tt').datagrid('selectRow', editIndex) .datagrid('beginEdit', editIndex); */ } } function removeit(){ if (editIndex == undefined){return} $('#tt').datagrid('cancelEdit', editIndex) .datagrid('deleteRow', editIndex); editIndex = undefined; } function accept(){ if (endEditing()){ //$('#tt').datagrid('acceptChanges'); //利用easyui控件本身的getChange获取新添加和修改的内容 if($("#tt").datagrid('getChanges').length){ var inserted = $("#tt").datagrid('getChanges', "inserted"); var updated = $("#tt").datagrid('getChanges', "updated"); var effectRow = new Object(); if (inserted.length) { effectRow["inserted"] = JSON.stringify(inserted); } if(updated.length){ effectRow["updated"] = JSON.stringify(updated); } } } } ```
再次封装easyui datagrid 插件 Pagination分页的开启和关闭
js 具体代码如下 求大牛解答 (function($){ $.fn.data = function(options){ $.ajax({ //请求方式为get type: "GET", //xml文件位置 url: "data.xml", async: false, //返回数据格式为xml dataType: "xml", //请求成功完成后要执行的方法 success: function (data) { $(data).find('aaaa').each(function (i) { //读取xml文件,获取默认参数 //alert(12); var $item = $(this); pagin = $item.find('pagination').text(); pageL = $item.find('pageList').text(); rownu = $item.find('rownumbers').text(); pageS = $item.find('pageSize').text(); checkOnSelect = $item.find('checkOnSelect').text(); //alert(checkOnSelect); text = $item.find('text').text(); }) } }); $('#db').datagrid({ idField:'itemid', //标识字段 title:'数据列表', width:500, //height:300, url:'datagrid_data1.json', fitColumns:true, //自适应窗口 nowrap:true, //不显示在一行 striped:true, //各行换色 loadMsg:'数据加载中,请稍等...', //加载数据时提示的信息 rownumbers:rownu, //singleSelect:true, checkOnSelect:true, //点击行时复选框是否被选中 sortName:'sendTime', sortOrder:'desc', remoteSort:false, //scrollbarSize:200, rowStyler:function(index,data){ //console.info(index); //console.info(data); if(data.isGet==0){ //return 'background:silver'; }else{ //return 'background:green'; } }, columns:[[ {checkbox:true}, {field:'ck',title:'接收人',width:100}, {field:'productid',title:'内容',width:100}, {field:'listprice',title:'发送时间',width:100}, {field:'unitcost',tile:'cjkcs',width:100}, {field:'attr1',tile:'cjkcs',width:100}, {field:'status',tile:'cjkcs',width:100}, ]], pagination:pagin, pageSize:pageS, pageList:pageL, toolbar:[ {text:'增加',iconCls:'icon-add',handler:function(){ //alert('ok'); $("#register").dialog('open'); }}, { text:'删除', iconCls:'icon-remove', handler:function(){ var selects = $("#data").datagrid("getSelections"); //alert(selects.length); if(selects.length<=0){ $.messager.show({ title:'温馨提示', msg:'请选择要删除的记录' }); }else{ //将选中的记录删除(先找到每一个选中的元素) for(var i=0;i<selects.length;i++){ //alert(selects[i].messID); $.post("delete.php","id="+selects[i].messID,function(r){ //alert('ok'); $("#data").datagrid("reload"); }) } } } }, {text:'编辑',iconCls:'icon-edit'}, {text:'查询',iconCls:'icon-search'}, ], }); } } )(jQuery); xml 如下 <?xml version="1.0" encoding="utf-8"?> <aaaa> <pagination>false</pagination> <pageList>[1,2,3]</pageList> <rownumbers>true</rownumbers> <pageSize>5</pageSize> <checkOnSelect>true</checkOnSelect> <text>1</text>//默认是有,如果是0则关闭 </aaaa>
easyui网格拖拽$(this).datagrid('loadData',data);不能选中数据
jquery easyui 数据网格拖拽,数据已经拼接成正确格式,但是还是没有选中效果。 ``` <script> $(function(){$("#filelist").datagrid({ onLoadSuccess:function(){ $(this).datagrid('enableDnd'); }, onStopDrag:function(row){ var rows=$(this).datagrid('getRows'); var jsdata = "{\"total\":\""+rows.length+"\",\"rows\":["; var initValue=1; for(var i in rows){ rows[i].status=initValue; initValue++; jsdata +="{\"productid\":\""+rows[i].productid+"\",\"productname\":\""+rows[i].productname+"\",\"unitcost\":"+rows[i].unitcost+",\"status\":\""+rows[i].status+"\",\"listprice\":"+rows[i].listprice+",\"attr1\":\""+rows[i].attr1+"\",\"itemid\":\""+rows[i].itemid+"\"},"; } jsdata = jsdata.substring(0,jsdata.length-1); jsdata += "]}"; var data = $.parseJSON(jsdata); $(this).datagrid('loadData',data); } }) }) </script> ```
easyui 数据表格之间行拖拽
数据表格A中某行选中拖拽添加至数据表格B中,A中该行不消失,求demo。
easyui搜索框查询回来的数据怎么显示出来啊
1.我现在问题是,在打开页面的时候,调用后台的一个方法,把表格所有的数据 显示在了datagrid上,现在想在页面加个搜索框,输入用户名,点击搜索的时 候,后台会根据前端传来的参数,调用另一个方法执行相关的查询语句,然后把数据返回给前端。 ===问题来了,前端接收到数据后,怎么显示在已经获取了所有数据的在datagrid上呢? 这我相关的代码 ``` <body> <script > $(function (){ var flag ; // 判断新增和修改方法 var url;//全局变量,存储点击对话框保存按钮后,提交请求的URL地址 $('#a').datagrid({ idField:'id',//只要创建数据表格 就必须要加 idField fitColumns:true,//宽度自适应 url:'/ssm/getOperator', //geiOperator会查出表里所有数据 checkOnSelect:true,//为false,当用户仅在点击该复选框的时候才会被选中或取消。 fitColumns: true, columns:[[ {field:'id',checkbox:true}, {field:'operator_id',title:'编号',width:100,halign:'center',align:'center'}, {field:'username',title:'账户',width:100,halign:'center',align:'center'}, {field:'password',title:'密码',width:100,halign:'center',align:'center'}, {field:'operator_name',title:'姓名',width:100,halign:'center',align:'center'} ]], pagination:true,//在底部显示分页 pageSize:'5',//每页显示多少个 pageList:[5,10,20], ``` ``` $('#btn3').click(function(){ var operator_name=document.getElementById('searchbtn').value; var operator={"operator_name":operator_name}; var jsonData= JSON.stringify(operator); $.ajax({ type: 'post' , url: "/ssm/findOperByName" , cache:false , data:jsonData, dataType:'json' , contentType : "application/json;charset=UTF-8", success:function(result){ //1 关闭窗口 /* $('#mydialog').dialog('close'); */ //2刷新datagrid /* $('#a').datagrid('reload'); */ /* $('#a').datagrid('clearSelections'); */ //获取表头数据成功后,使用easyUi的datagrid去生成表格 }, error:function(result){ alert("执行失败"); } }); ``` btn3就是我点击搜索的按钮。但搜索成功后数据不会显示在表格里 如果能解决,可以有偿
ElmentUI 在Asp.net mvc 中数据交互问题
我在asp.net mvc 项目中引入了vue.js,element.js,element.css,axios.js 想用element实现增删改查 之前使用了easyui实现了表格数据的增删改查 删除功能的部分代码如下 ``` <script> //删除设备 function btnDeleteEvent() { var selectRow = $('#dgList').datalist('getSelected'); if (selectRow == null || selectRow == undefined) { $.messager.alert({ icon: 'warning', title: '提示', msg: '请选择一条记录' }); return; } $.deleteForm({ url: 'ActionDeleteDevice', param: { ID: selectRow.DeviceIndex }, title: '删除提示', prompt: '确定要删除“' + selectRow.Name + '”?', success: function (result) { if (result.state) { $('#dgList').datagrid("reload"); } } }); } ``` 选中一行数据,点击表外的删除按钮删除数据,把选中行的数据传给控制层 的ActionDeleteDevice处理,这段代码换成elementui改如何实现。 主要不知如何把选中行数据传到控制层,我想使用elementui实现这部分功能,不知如何完成,请大佬指教!
淘淘商城运行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)
页面内容显示不出来 ,看不懂哪里出错了。
``` main.jsp: <%@ page contentType="text/html;charset=UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>title</title> <%@ include file="../../include/common.jsp"%> <script type="text/javascript"> //定义了一个命名空间,ExpertsMntn.main.xxxx可以直接调用 $.namespace("ExpertsMntn.main"); ExpertsMntn.main.add=function() { $("#ExpertsMntnDetailWin").dialog({ href:'add', title:'添加', draggable:false, //设置dialog自由尺寸 onResize:function(){ $('#ExpertsMntnGrid').datagrid('resize'); } }).dialog('open'); }; ExpertsMntn.main.edit=function() { var row = $('#ExpertsMntnGrid').datagrid('getSelections'); //getSelections:可以多行选中操作; getSelected:只能单行操作; if(row.length==1){ $("#ExpertsMntnDetailWin").dialog({ href:'edit/'+row[0].id, title:'编辑', draggable:false, onResize:function(){ $('#ExpertsMntnGrid').datagrid('resize'); } }).dialog('open'); }else{ $.message.alert("Please select a record only!"); } }; ExpertsMntn.main.del=function() { //获取datagrid选中的数据行 var row = $("#ExpertMntnGrid").datagrid('getSelections'); if(row.length>=1){ //调用easyui的确认框 $.message.comfirm('确认','确认删除?',function(r) { if(r){ var ids = [ ]; //将选中的数据库的id压入ids[]数组; for (var i = 0; i < row.length; i++) { ids.push(row[i].id); } //调用jquery的post方法请求delete地址 $.post('del',{ ids:ids.join(',') },function(result){ //动态页200状态post成功回调并且服务器返回标准json数据执行回调函数 if(result){ // reload data $('#ExpertsMntnGrid').datagrid('clearSelections'); $('#ExpertsMntnGrid').datagrid('reload'); } },"json"); //指定将服务器返回的内容处理成json类型(此外,还可以返回 html、text之类) } }); }else{ $.message.alert('Please select a record only!'); } }; ExpertsMntn.main.listSearch=function() { $('#ExpertsMntnGrid').datagrid('load', { }); }; ExpertsMntn.main.init = function() { $('#ExpertsMntnGrid').datagrid({ //建表?建表插件用法 url:'search', method:'get', pageSize:20, toolbar:'#', fit : true, pagination : true, idField : "id", //支持分页选择记录 pagePosition : "bottom", rownumbers : true, border : false, singleSelect : false, striped : true, fitColumns : true, selectOnCheck : true, checkOnSelect : true, columns:[[{ field:'check', title : '', checkbox : true },{ field : 'id', title : '', width : 22, align : 'center', halign : 'center', sortable : true },{ field:'name', title:'姓名', width:22, align : 'center', halign : 'center', sortable : false },{ field:'sex', title:'性别', width:22, align : 'center', halign : 'center', sortable : false },{ field:'birthday', title:'出生日期', width:22, align : 'center', halign : 'center', sortable : false },{ field:'partymember', title:'政治状态', width:22, align : 'center', halign : 'center', sortable : false },{ field:'itemid', title:'专业', width:22, align : 'center', halign : 'center', sortable : false },{ field:'orgid', title:'所属组织', width:22, align : 'center', halign : 'center', sortable : false },{ field:'telephone', title:'联系方式', width:22, align : 'center', halign : 'center', sortable : false },{ field:'experience', title:'经历', width:22, align : 'center', halign : 'center', sortable : false },{ field:'remarks', title:'备注', width:22, align : 'center', halign : 'center', sortable : false },{ field:'content', title:'照片附件', width:22, align : 'center', halign : 'center', sortable : false },{ field:'photo-suffix', title:'照片文件后缀名', width:22, align : 'center', halign : 'center', sortable : false }]], //查看操作,onDblClickRow onDblClickRow : function(index, row) { $('#ExpertsMntnGrid').datagrid("clearSelections"); $('#ExpertsMntnGrid').datagrid("selectRow", index); $('#ExpertsMntnDetailWin').dialog({ href : 'view/' + row.id, title : "查看", draggable : false, onResize : function() { $('#ExpertsMntnGrid').datagrid('resize'); } }).dialog('open'); } }); }; $(document).ready(function() { ExpertsMntn.main.init(); }); </script> </head> <body> <div class="easyui-layout" fit="true" border="false" > <div region="north" border="false" > <div id="toolbar" border="false" class="dialog-toolbar" style="border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #DDDDDD"> <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-add'" onclick="ExpertsMntn.main.add()">添加</a> <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-edit'" onclick="ExpertsMntn.main.edit()">编辑</a> <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-remove'" onclick="ExpertsMntn.main.del()">删除</a> </div> </div> <div region="center" border="false" style="width: 100%; height: 100%"> <table id="ExpertsMntnGrid"></table> </div> <div id="ExpertsMntnDetailWin" class="easyui-dialog" title="" style="width: 450px; height: 750px;" data-options="modal:true,closed:true"></div> </div> </body> </html> detail.jsp: <%@ page contentType="text/html;charset=UTF-8"%> <%@ include file="../../include/header.jsp"%> <script type="text/javascript"> $.namespace("ExpertsMntn.detail"); ExpertsMntn.id="${(ExpertsMntnEntity.id)==null?0:(ExpertsMntnEntity.id)}"; ExpertsMntn.detail.mode = "${mode}"; ExpertsMntn.detail.save = function(){ var url = $.ctx+'/zjkwh/save/'+ ExpertsMntn.id; $('#ExpertsMntnForm').form('submit', { url: url, onSubmit: function(param) { if(ExpertsMntn.detail.mode=='edit'){ return $(this).form('validate'); } var flag = false; $.ajax({ type : "post", url : 'check', dataType : "json", data : { id : $('#id').val() }, async : false, success : function(result) { if (result == true) { flag = true; } } }); if(!flag){ return $(this).form('validate'); } else { $.messager.alert('数据已存在'); $('#ExpertsMntnGrid').datagrid('load'); return !flag; } }, success: function(result) { var data = (new Function("","return "+ result))(); $('#ExpertsMntnGrid').datagrid('reload'); if (data.id) { ExpertsMntn.id = data.id; $.messager.alert('提示', '保存成功!','',function(){ $('#ExpertsMntnDetailWin').dialog('close'); }); } else { $.messager.show({ title: 'Error', msg: result }); } } }); } $(document).ready(function() { }); </script> <div class="easyui-layout" region="center" style="height:700px;border:1px dashed #FFFFFF"> <c:if test="${(mode=='edit') || (mode=='add')}"> <div class="editform" style="border:1px dashed #FFFFFF"> <form id="ExpertsMntnForm" method="post" novalidate style="margin-bottom: 0"> <input id="id" name="id" type="hidden" value="${ExpertsMntnEntity.id }" /> <ul style="list-style-type: none; height: 5px"></ul> "validType:'length[1,50]'" value="${ExpertsMntnEntity.wonawardz}" size="20" style="width: 140px;height:30px;line-height:30px;border-style:none;margin-right:3px;float: left;background: url('${ctx}/static/images/inputbg.png') ;background-size: 100% 100%; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${ctx}/static/images/inputbg.png', sizingMethod='scale')\9;" /> </li> </ul>--> </div> </c:if> <c:if test="${mode=='view'}"> <div class="editform"> <table border=1> <tbody> <tr> <td class="label"><label>&nbps;ID:</label></td> <td>${expertsMntnEntity.id}</td> </tr> <tr> <td class="label"><label>姓名:</label></td> <td>${expertsMntnEntity.name}</td> </tr> <tr> <td class="label"><label>性别:</label></td> <td>${expertsMntnEntity.sex}</td> </tr> <tr> <td class="label"><label>出生日期:</label></td> <td>${expertsMntnEntity.birthday}</td> </tr> <tr> <td class="label"><label>专业:</label></td> <td>${expertsMntnEntity.itemid}</td> </tr> <tr> <td class="label"><label>获得奖项:</label></td> <td>${expertsMntnEntity.wonawardz}</td> </tr> <tr> <td class="label"><label>经历:</label></td> <td>${expertsMntnEntity.experience}</td> </tr> <tr> <td class="label"><label>备注:</label></td> <td>${expertsMntnEntity.remarks }</td> </tr> </tbody> </table> </div> </c:if> </div> 只有添加才能显示出内容,编辑和查看操作在对话框中显示不出来,就连div框都显示不了!对话框能打开,但是里面什么东西都没有! ```
动态规划入门到熟悉,看不懂来打我啊
持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3...
程序员,职场上请远离这种人!
对有些职场人来讲,甩锅就是一种生存手段。01.从大学打篮球说起上大学的时候喜欢打篮球,然后我又特别喜欢抢篮板,经常是跳起来的时候没事,落下来的时候偶尔会踩到别人的脚上,于...
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
一个读研让我损失了一百万的真实故事
关注我!只要10分钟,包你学会数据分析 毕业后,应该就业还是考研? 我刚出国留学那会儿,就惊讶的发现,外国local95%都不会选择读研 他们说,硕士学费很贵,时间宝贵,老板不认,所以很费 当几乎所有人都是本科学历时,硕士学历反而像个异类 在老板眼里,三年硕士远远不如3年的工作经验实用 他们甚至专门为拒绝高学历者发明了一个词,叫overoccupie...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
shell脚本:备份数据库、代码上线
备份MySQL数据库 场景: 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:dbname-2019-11-23.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
为什么你学不过动态规划?告别动态规划,谈谈我的经验
动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强烈建议看一看:为什么你学不会递归,告别递归,谈谈我的经验 对于动态规划,春招秋招时好多题都会用到动态...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
如何安装 IntelliJ IDEA 最新版本——详细教程
IntelliJ IDEA 简称 IDEA,被业界公认为最好的 Java 集成开发工具,尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克,开发人员以严谨著称的东欧程序员为主。IDEA 分为社区版和付费版两个版本。 我呢,一直是 Eclipse 的忠实粉丝,差不多十年的老用户了。很早就接触到了 IDEA...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
为什么要推荐大家学习字节码?
配套视频: 为什么推荐大家学习Java字节码 https://www.bilibili.com/video/av77600176/ 一、背景 本文主要探讨:为什么要学习 JVM 字节码? 可能很多人会觉得没必要,因为平时开发用不到,而且不学这个也没耽误学习。 但是这里分享一点感悟,即人总是根据自己已经掌握的知识和技能来解决问题的。 这里有个悖论,有时候你觉得有些技术没用恰恰是...
【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。 三次握手 当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握...
压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
一、QPS,每秒查询 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 二、TPS,每秒事务 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一...
新程序员七宗罪
当我发表这篇文章《为什么每个工程师都应该开始考虑开发中的分析和编程技能呢?》时,我从未想到它会对读者产生如此积极的影响。那些想要开始探索编程和数据科学领域的人向我寻求建议;还有一些人问我下一篇文章的发布日期;还有许多人询问如何顺利过渡到这个职业。我非常鼓励大家继续分享我在这个旅程的经验,学习,成功和失败,以帮助尽可能多的人过渡到一个充满无数好处和机会的职业生涯。亲爱的读者,谢谢你。 -罗伯特。 ...
2019年Spring Boot面试都问了什么?快看看这22道面试题!
Spring Boot 面试题 1、什么是 Spring Boot? 2、Spring Boot 有哪些优点? 3、什么是 JavaConfig? 4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 5、Spring Boot 中的监视器是什么? 6、如何在 Spring Boot 中禁用 Actuator 端点安全性? 7、如何在自定义端口上运行 Sprin...
【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都详细着给出了最优解,下面再现当时的面试场景。看完一定让你有所收获 一、小牛试刀:有效括号 大部分情况下,面试官都会问一个不怎么难的问题,不过你千万别太开心,因为这道题往往可以拓展出更多有难度的问题,或者一道题看起来很简单,但是给出最优解,确实很...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
GitHub 标星 1.6w+,我发现了一个宝藏项目,作为编程新手有福了!
大家好,我是 Rocky0429,一个最近老在 GitHub 上闲逛的蒟蒻… 特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。 后来自己花了一个星期看完了 Pyt...
杭漂程序员2019的心路历程,还不起助学贷款,交不起房租,披荆斩棘终雨过天晴
一个杭漂2019的心酸历程,一路披荆斩棘终于还是雨过天晴。
我采访了同事,让他掏出了每天都会浏览的干货网站
前言只有光头才能变强。文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y在周六的晚上,我日常去到公司写文章。想写...
Java知识体系最强总结(2020版)
更新于2019-12-15 10:38:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 文章目录...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
相关热词 c#如何定义数组列表 c#倒序读取txt文件 java代码生成c# c# tcp发送数据 c#解决时间格式带星期 c#类似hashmap c#设置istbox的值 c#获取多线程返回值 c# 包含数字 枚举 c# timespan
立即提问