jQuery获取Java中的json数据

后台Java:
<%
String sql = "";
sql = "select business_type,one_month,two_month,three_month from webout.apn_test";
String[][] montharr = ub.getSqlArray("dgdb4",sql);
JSONArray json = JSONArray.fromObject(montharr);

%>
怎样通过getJSON方式获取数据

1个回答

getJSON方法可以获取Controller控制器中的数据,先编写控制器,然后通过ajax去调用。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jqgrid用Java返回了json数据,却总是显示不出来
这两天研究jqgrid,我用的jsp,用local方式能正常显示出来,但换成json形式就不行了 [code="java"] <%@ page pageEncoding="UTF-8" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jqGrid Demos</title> <link rel="stylesheet" type="text/css" media="screen" href="<%=application.getContextPath()%>/resources/jqcss/jquery-ui-1.8.12.custom.css" /> <link rel="stylesheet" type="text/css" media="screen" href="<%=application.getContextPath()%>/resources/jqcss/ui.jqgrid.css" /> <link rel="stylesheet" type="text/css" media="screen" href="<%=application.getContextPath()%>/resources/jqcss/ui.multiselect.css" /> <script src="<%=application.getContextPath()%>/resources/js/jquery-1.4.2.min.js" type="text/javascript" ></script> <script src="<%=application.getContextPath()%>/resources/jqgrid/grid.locale-cn.js" type="text/javascript"></script> <script type="text/javascript"> $.jgrid.no_legacy_api = true; $.jgrid.useJSON = true; </script> <script src="<%=application.getContextPath()%>/resources/jqgrid/jquery.jqGrid.min.js" type="text/javascript"></script> <script src="<%=application.getContextPath()%>/resources/jqgrid/jquery-ui-1.8.12.custom.min.js" type="text/javascript"></script> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery("#list4").jqGrid({ datatype: "local", height: 250, colNames:['序号','日期', '姓名', '数量A','数量B','总和','备注'], colModel:[ {name:'id',index:'id', width:30, sorttype:"int"}, {name:'invdate',index:'invdate', width:90, sorttype:"date"}, {name:'name',index:'name', width:100}, {name:'amount',index:'amount', width:80, align:"right",sorttype:"float"}, {name:'tax',index:'tax', width:80, align:"right",sorttype:"float"}, {name:'total',index:'total', width:80,align:"right",sorttype:"float"}, {name:'note',index:'note', width:150, sortable:false} ], rowNum:4, rowList:[4,8,12], pager: '#pager2', multiselect: true, caption: "Manipulating Array Data" }); var mydata = [ {id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, {id:"4",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, {id:"7",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"} ]; for(var i=0;i<=mydata.length;i++){ jQuery("#list4").jqGrid('addRowData',i+1,mydata[i]); } }); </script> </head> <body> <table id="list4"></table> <div id="pager2"></div> </body>[/code] 把mydate改成从后台获取也可以 [code="java"]var mydata = ${list};[/code] list [code="java"] public void onLoad(Map request, Map session) { StringBuilder sb = new StringBuilder(); sb.append("[{id:").append('"').append("1").append('"') .append(",invdate:").append('"').append("2007-10-01").append('"') .append(",name:").append('"').append("test").append('"') .append(",note:").append('"').append("note").append('"') .append(",amount:").append('"').append("200.00").append('"') .append(",tax:").append('"').append("10.00").append('"') .append(",total:").append('"').append("210.00").append('"') .append("}]") ; request.put("list", sb.toString()); } [/code] 但是把datatype换成json就不行,返回的json格式数据我试了各种版本,但就是不行。 不知有人碰到过类似问题没有
jquery ajax json + hibernate 有关lazy策略的问题
在使用Ajax向后台提交数据后,要返回数据时,通过hibernate去查询数据,但是json会将有关的数据一起读出来,但是我不要那么多的数据。 如何才能将设置json不去获取那么多的数据!!! 很急!!在线求大神解救!!! 报错如下: 2014-09-05 16:38:55 ERROR org.hibernate.LazyInitializationException.<init>(LazyInitializationException.java:42) - failed to lazily initialize a collection of role: com.wsxh.entity.Userinfo.contracts, no session or session was closed org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.wsxh.entity.Userinfo.contracts, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:380) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:372) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:365) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:108) at org.hibernate.collection.PersistentSet.equals(PersistentSet.java:429) at java.util.Vector.indexOf(Vector.java:404) at java.util.Vector.contains(Vector.java:363) at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:113) at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) at org.apache.struts2.json.JSONWriter.write(JSONWriter.java:98) at org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112) at org.apache.struts2.json.JSONResult.execute(JSONResult.java:198) at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2440) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2429) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
Javaweb 省市联动 json数据获取 出现undefined
``` public class Province { private int ProvinceID; private String Name; public int getProvinceID() { return ProvinceID; } public void setProvinceID(int provinceID) { ProvinceID = provinceID; } public String getName() { return Name; } public void setName(String name) { Name = name; } public Province() { super(); // TODO Auto-generated constructor stub } public Province(int provinceID, String name) { super(); this.ProvinceID = provinceID; this.Name = name; } ``` ``` package com.web.servlet; import java.io.IOException; import java.sql.SQLException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.web.domain.Province; import com.web.service.ProvinceService; import net.sf.json.JSONArray; /** * 省市联动——省 * Servlet implementation class PrivinceSelectServlet */ public class ProvinceSelectServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //调用service 查询所有省份、 List<Province> list=null; try { list = new ProvinceService().findAll( ); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //将所有的省份 response.setContentType("text/html;charset=utf-8"); if(list!=null&&list.size()>0){ response.getWriter().print(JSONArray.fromObject(list)); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } } ``` ``` package com.web.service; import java.sql.SQLException; import java.util.List; import com.web.dao.Provincedao; import com.web.domain.Province; public class ProvinceService { public List<Province> findAll() throws SQLException { // TODO Auto-generated method stub return new Provincedao().findAll() ; } } ``` ``` package com.web.dao; import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import org.apache.commons.dbutils.handlers.ColumnListHandler; import com.web.domain.Province; import Utils.DatasourceUtils; public class Provincedao { public List<Province> findAll( ) throws SQLException { // TODO Auto-generated method stub QueryRunner qr = new QueryRunner(DatasourceUtils.getDatasource()); String sql="select * from province "; return qr.query(sql, new BeanListHandler< >(Province.class)); } } ``` ``` <%@ 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>省事联动</title> <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.11.3.min.js"></script> <script type="text/javascript"> $(function () { //页面加载成功,查询所有的省市 $.get("/Day15/ProvinceSelectServlet",function(obj){ //alert(obj) var $pro=$("#proId"); $(obj).each(function(){ $pro.append($("<option value="+this.ProvinceID+"> "+this.Name+"</option>")); }); },"json"); }) </script> </head> <body> <select id="proId" name="province"> <option >-省份-</option> </select> <select id="citId" name="city"> <option >-城市-</option> </select> </body> </html> ```
jQuery拼接一段html后,bootstrap中的js控制没有效果
我通过ajax访问后台获取到json数据返回后用$("#id").html(data)拼接,bootstrap的js文件中的事件没有效果,怎么解决这个问题
jqgrid如何用getRowData获取对象中的对象数据
我有一个类A 里面包含了类B的对象。 但是getRowData().b.id却出错,在jqgrid表格中能正确显示。 [code="java"] subData = jQuery("#"+subgrid_table_id).jqGrid({ url:"findSubDetailByParent?sys2.id=" + parentId, datatype: "json", colNames : [ 'ID', 'Key', 'Value', '主分类ID', '主类型数据ID'], colModel : [{name:'id',index:'id',width:30,sortable:false,hidden:true}, {name:'key',index:'key',width:30,sortable:false}, {name:'value',index:'value',width:120,sortable:false}, {name:'sys1.id',index:'sys1.id',width:50,sortable:false,hidden:true}, {name:'sys2.id',index:'sys2.id',width:20,sortable:false,hidden:true} ] [/code] [code="java"] subData.getRowData(row_id).sys2.id这样就会出错。 [/code]
action里面如何传多行记录到 jquery json遍历。
sql: [code="sql"] id name age 1 滔哥 70 2 宝哥 68 [/code] [b]我是通过ajax取多行记录,打算用json格式存储[/b] [code="java"] //这是BaseAction里面的定义的json public String ajaxJson(Map<String, String> jsonMap) { JSONObject jsonObject = SONObject.fromObject(jsonMap); return ajax(jsonObject.toString(), "text/html"); } [/code] [code="java"] //这是我的actopm 里面的实现的map格式的json HashMap<String, String> map = new HashMap<String, String>(); map.put("id", sid); map.put("name", sname); map.put("age", sage); return ajaxJson(map); [/code] 前端遍历代码省略, 这种格式我能够正常处理,现在的问题就是多行记录不会处理, 我自己试过定义list格式的json,总是报莫名的错误,谷歌也找不到核心原因。 所以问题是: 1、怎么用ajax 获取数据库的多行记录,存入json,并在前端遍历? 2、有什么替代方法吗? (session肯定不行)
echarts获取mysql中的数据可视化,legend怎么才能跟柱状图的颜色对应起来?
``` <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'echart.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="http://echarts.baidu.com/build/dist/echarts.js"></script> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript"> // 路径配置 require.config({ paths : { echarts : 'http://echarts.baidu.com/build/dist' } }); // 使用 require([ 'echarts', 'echarts/chart/bar' ,'echarts/chart/line'// 使用柱状图就加载bar模块,按需加载 ], drewEcharts ); function drewEcharts(ec) { // 基于准备好的dom,初始化echarts图表 var myChart = ec.init(document.getElementById('main')); var option = { color: ['#008b00', '#ffff00', '#ff7f00', '#cd0000','#0000cd'],//绿色,黄色,橙色,红色,蓝色 title:{ text: 'DECG', subtext: '物理量待定' }, //提示样式 tooltip : { show : true, trigger: 'axis', axisPointer: { //坐标轴指示器 crossStyle: { color: '#999' } } }, legend : { data: [{name: 'Good',textStyle:{color: '#008b00'}}, {name:'Watch',textStyle:{color: '#ffff00'}}, {name: 'Warning',textStyle:{color:'#ff7f00'}}, {name:'Abnormal value',textStyle:{color:'#cd0000'}}, {name:'Baseline',textStyle:{color:'#0000cd'}} ], orient: 'horizontal', x: 'center', y: 'bottom', padding: 0, itemWidth: 10, textStyle: { fontWeight: 'bold', fontSize:14 } }, grid: { left: '3%', right: '2%', top: '8%', bottom: '2%', containLable: true }, toolbox: { show : true, feature : { dataView : {show: true, readOnly: false}, magicType : {show: true, type: ['line', 'bar']}, restore : {show: true}, saveAsImage : {show: true} } }, calculable : true, xAxis : [ { type : 'category', //设置轴线属性 axisLine:{ lineStyle:{ color: '#4d4d4d' } }, axisLabel: { //x轴字体样式 interval:0, rotate:70, margin:2, textstyle: { color:"#222", fontSize: '16' }}, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", //web.xl中注册的Servlet的url-pattern data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].name); arr.push(result[i].name); } } }, error : function(errorMsg) { alert("图表请求数据失败!"); myChart.hideLoading(); } }) return arr; })() }], yAxis : [ { type : 'value', name: 'F/N', nameTextStyle:{//坐标轴标签设置 fontWeight: 'bold', fontiSize: '28' }, interval: 10, fontSize: '20', axisLine: { lineStyle:{ color: '#4d4d4d' } }, axisLabel: {//y轴字体样式 formatter: '{value}', textStyle: { color:"#222", fontSize: '16' } } }], series : [{ name : 'Good', type : 'bar', barGap: '1%', barCategoryGap: '10%', itemStyle:{ normal:{ color: function(params){ var index_num = params.data; //alert(param.value); if (index_num < 30){ return '#008b00'; //绿色 }else if (index_num>=30 && index_num<50){ return '#ffff00'; //黄色 }else if (index_num>=50 && index_num<60){ return '#ff7f00'; //橙色 }else{ return '#cd0000'; //红色 } } }, }, //barWidth: 10, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].num); arr.push(result[i].num); } } }, error : function(errorMsg) { alert("不好意思,大爷,图表请求数据失败啦!"); myChart.hideLoading(); } }) return arr; })() } , { name : 'Watch', type : 'bar', barGap: '1%', barCategoryGap: '10%', itemStyle:{ normal:{ color: function(params){ var index_num = params.data; //alert(param.value); if (index_num>=30 && index_num<50){ return '#ffff00'; //绿色 }else if (index_num < 30){ return '#008b00'; //黄色 }else if (index_num>=50 && index_num<60){ return '#ff7f00'; //橙色 }else{ return '#cd0000'; //红色 } } }, }, //barWidth: 10, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].num); arr.push(result[i].num); } } }, error : function(errorMsg) { alert("不好意思,大爷,图表请求数据失败啦!"); myChart.hideLoading(); } }) return arr; })() }, { name : 'Warning', type : 'bar', barGap: '1%', barCategoryGap: '10%', itemStyle:{ normal:{ color: function(params){ var index_num = params.data; //alert(param.value); if (index_num < 30){ return '#008b00'; //绿色 }else if (index_num>=30 && index_num<50){ return '#ffff00'; //黄色 }else if (index_num>=50 && index_num<60){ return '#ff7f00'; //橙色 }else{ return '#cd0000'; //红色 } } }, }, //barWidth: 10, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].num); arr.push(result[i].num); } } }, error : function(errorMsg) { alert("不好意思,大爷,图表请求数据失败啦!"); myChart.hideLoading(); } }) return arr; })() }, { name : 'Abnormal value', type : 'bar', barGap: '1%', barCategoryGap: '10%', itemStyle:{ normal:{ color: function(params){ var index_num = params.data; //alert(param.value); if (index_num < 30){ return '#008b00'; //绿色 }else if (index_num>=30 && index_num<50){ return '#ffff00'; //黄色 }else if (index_num>=50 && index_num<60){ return '#ff7f00'; //橙色 }else{ return '#cd0000'; //红色 } } }, }, //barWidth: 10, data :(function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "bar.do", data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].num); arr.push(result[i].num); } } }, error : function(errorMsg) { alert("不好意思,大爷,图表请求数据失败啦!"); myChart.hideLoading(); } }) return arr; })() }, { name: 'Baseline', type: 'line', smooth:true, yAxisIndex: 0, symbolSize:0, //拐点圆的大小 itemStyle:{ normal:{ color: '#0000cd', } }, data: [53,30,29,40,18,30,9,17,64,30,48,12,30,38,20,31,38,53,38,51,9,17] } ], //控制每次只显示固定柱子数目 dataZoom:[{ type:'inside',//inside,slider此处只列举inside start:0, end:9,//dataZoom-inside.start 和 dataZoom-inside.end 共同用 百分比 的形式定义了数据窗口范围。 xAxisIndex:0,//不指定时,当 dataZoom-inside.orient 为 'horizontal'时,默认控制和 dataZoom 平行的第一个 xAxis。但是不建议使用默认值,建议显式指定。 filterMode:'none',//dataZoom 的运行原理是通过 数据过滤 来达到 数据窗口缩放 的效果。数据过滤模式的设置不同,效果也不同。('filter','weakfilter','empty','none')http://echarts.baidu.com/option.html#dataZoom-inside zoomLock:true,//只能拖动不可缩放,若无需禁止缩放设置为false或者去除即可 }] }; myChart.setOption(option); // 为echarts对象加载数据 myChart.setOption(option); } sideBarChart.resize();//修改echarts容器大小 </script> </head> <body> <div id="main" style="height: 550px; width: 1100px"></div> </body> </html> ``` 在mysql中取出数据后,按照数值范围对数据进行分类,不同类别的数据显示不同颜色的柱子。 实现结果: ![图片说明](https://img-ask.csdn.net/upload/201907/16/1563266320_869864.png) 求教大神 怎么修改代码,让legend显示与柱子对应的颜色?
jQuery DataGrid后台分页问题
我写了一个基础的Grid 现在想加入分页 纠结了一天了 后台应该怎么写 我已经从oracle中获取了数据并且转为JSON成功展示在浏览器 浏览器Network里面的最前面没有total属性和rows pagination的方法我也弄清楚了 就是现在rows和pagesize的后台不知道怎么写 麻烦大家了 我后台用的JAVA , PHP看不懂 ``` ```
springboot前端thymeleaf无法遍历pageinfo的list数组
用的Mybatis PageHelper来分页,前端th都能正常获取数据,但只能获取到**list数组的所有信息**,不能取出数据,**th:each也不能遍历出来**,到list后面就没有具体的数据了 ![图片说明](https://img-ask.csdn.net/upload/201910/04/1570191330_531797.png) ###controller ![图片说明](https://img-ask.csdn.net/upload/201910/04/1570191594_397287.png) ###html ![图片说明](https://img-ask.csdn.net/upload/201910/04/1570191714_591776.png) 后端传json,前端用jquery+ajax能取出list里面的数据,通过拼接能正常显示信息,但html多了太麻烦,那位大佬知道咋取出来啊 ![图片说明](https://img-ask.csdn.net/upload/201910/04/1570191873_343376.png)
jquery.ajax struts2 不能返回数据
``` jquery.ajax struts2 采用上下文方式获取response, 提交两次才能提交到struts里,而且不能返回,偶尔能返回,这是在IE上的,在firefox不能访问,代码如下: 前端代码: <script src="jquery-3.0.0.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ var username= document.getElementById("name").value; var password = document.getElementById("password").value; alert(username+" "+password); //var json = {"name":username,"password":password}; $.ajax({ type:"get", url:"http://127.0.0.1:8080/AjaxJsonStruts1/login.action", async:true, //data:"json="+JSON.stringify(json), data:"name="+username+"&password="+password, success:function(datas){ alert(datas); }, error:function(){ alert("登录出错"); //window.open("error.html"); } }); }); }); </script> </head> <body> <form> 用户名:<input type="text" id="name" /><br /> 密码: <input type="password" id="password"/><br /> <button>登录</button><br /> <!--<button id="register">注册</button>--> </form> 后台: <struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="true"/> <constant name="struts.i18n.encoding" value="UTF-8" /> <package name="default" extends="struts-default" > <action name="login" class="com.action.LoginAction" method="login"/> <action name="register" class="com.action.RegisterAction"/> </package> </struts> package com.action; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.ws.Response; import net.sf.json.JSONObject; import org.apache.struts2.ServletActionContext; import com.bean.User; import com.opensymphony.xwork2.ActionSupport; import com.sun.xml.xsom.impl.WildcardImpl.Other; public class LoginAction extends ActionSupport{ private HttpServletRequest request; private HttpServletResponse response; public LoginAction(){ request = ServletActionContext.getRequest(); response = ServletActionContext.getResponse(); } public void login() throws IOException{ //System.out.println("begin"); //response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Cache-Control", "no-cache"); response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); /*String jsonstring = request.getParameter("json"); JSONObject json = JSONObject.fromObject(jsonstring);*/ User user = new User(); String name = request.getParameter("name"); String password = request.getParameter("password"); user.setName(name); user.setPassword(password); //user = (User) JSONObject.toBean(json, User.class); System.out.println("user : "+user.getName()+" : "+user.getPassword()); String answer=""; if("admin".equals(user.getName())&&"123456".equals(user.getPassword())){ System.out.println("success"); answer="success"; }else{ System.out.println("erorrr"); answer="error"; } out.print(answer); out.flush(); out.close(); } public HttpServletRequest getRequest() { return request; } public void setRequest(HttpServletRequest request) { this.request = request; } public HttpServletResponse getResponse() { return response; } public void setResponse(HttpServletResponse response) { this.response = response; } } ```
Struts2和返回JSON的数据为null,浏览器提示TypeError:data is null
我在action里面打印了一下数据,都是正确的。 [color=red]这是我的action[/color] package action; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import pojo.Dept; import pojo.User; import com.opensymphony.xwork2.ActionSupport; import dao.Dao; public class JasonAction extends ActionSupport{ /** * */ private static final long serialVersionUID = -5138636457167442118L; private List<Dept> list = new ArrayList<Dept>(); private Set<User> users = new HashSet<User>(); private Dao dao = new Dao(); public String getUserByDept(){ users = dao.getUserByDept(); return SUCCESS; } public String getDept(){ list = dao.getAllDept(); Dept dept = list.get(0); System.out.println(dept.getDname()); users = dept.getUsers(); System.out.println(users.size()); return "list"; } public List<Dept> getList() { return list; } public void setList(List<Dept> list) { this.list = list; } public Set<User> getUsers() { return users; } public void setUsers(Set<User> users) { this.users = users; } } [color=red]这是struts.xml文件[/color] <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="jason" extends="json-default" > <action name="json_*" class="action.JasonAction" method="{1}"> <result name="list" type="json"> <param name="root">results</param> </result> </action> </package> </struts> [color=red]这是jsp页面[/color] <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'list.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="js/jquery-1.4.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#did").change(function(){ $.getJSON("json_getDept.action",function(data){ //使用jQuery中的each(data,function(){});函数 //从data.users获取User对象放入value之中 $.each(data.users,function(i,value){ alert(value.username); $("#username").html("<option value="+value.uid+">"+value.username+"</option>") }); }); }); }); </script> </head> <body> department:<select id="did"> <option value="1">software</option> <option value="2">hardware</option> </select><br> username: <select id="username"> </select> </body> </html>
Easyui 使用dialog窗口提交form表单 数据为空
我点击打开easyUI的dialog窗口时,后台接收的数据全部为null;但我直接使用jq的打开窗口并传输数据,后台都能获取到。我看网上有人说使用了dialog文档结构改变了,找不到对应的from?该怎么改啊 * js部分 ```javascript <script type="text/javascript"> /* 显示addDiv */ function addDiv() { $("#addTab").dialog({ title : '新增', width : 600, height : 400, modal : true }) $("#addTab").dialog("open"); } /* 提交新增 */ function add() { var $dialog = $("#addDiv"); var $form = $dialog.find("form[name=addForm]"); var formData = new FormData($form[0]); console.log($form); console.log(formData); $.ajax({ url : basePath + "/goodsAdd.json", type : "post", dataType : "json", data :formData, processData : false, cache : false, contentType : false, success : function(data) { if (data.num == 1) { $.messager.alert('提示', "新增成功"); $("#datag").datagrid("reload"); } else { $.messager.alert('提示', "新增失败"); } } }); } </script> ``` * HTML部分 ```html <body> <div id="addDiv" > <form name="addForm" method="post" enctype="multipart/form-data"> <table id="addTab"> <tr> <td>商品名称:<input id="goodsname1" class="easyui-textbox" name="goodsname" style="width: 150px"></td> <td>商品价格:<input id="goodsprice1" class="easyui-numberbox" name="goodsprice" data-options="validType:'goodsprice',required:true" style="width: 150px"></td> </tr> <tr> <td>保质&emsp;期:<input id="releasedate1" class="easyui-numberbox" name="releasedate" data-options="validType:'releasedate',required:true" style="width: 150px"></td> <td>生产日期:<input id="creationdate1" class="easyui-datetimebox" name="creationdate" data-options="validType:'creationdate',required:true" style="width: 150px"></td> </tr> <tr> <td>产&emsp;&emsp;地:<input id="producingarea1" class="easyui-textbox" name="producingarea" data-options="validType:'producingarea',required:true" style="width: 150px"></td> <td>商品类型:<input id="goodstype1" class="easyui-textbox" name="goodstype" data-options="validType:'goodstype',required:true" style="width: 150px"></td> </tr> <tr> <td>商品信息:<input id="goodsinfo1" class="easyui-textbox" name="goodsinfo" data-options="validType:'goodsinfo',required:true" style="width: 150px"></td> </tr> <tr> <td colspan="2"> <div style="width: 100%; text-align: center;"> <img id="defaultImage" style="width: 250px; height: 150px; display: inline-block;" alt="默认商品" src="../../view/images/goods/wallhaven-2e3839.jpg"> </div> </td> </tr> <tr> <td colspan="2"> <div style="width: 100%; text-align: center;"> <input name="upImage" class="easyui-filebox" style="width: 300px" data-options="buttonText:'选择文件',onChange:showImage"> </div> </td> <td> <input type="hidden" id="goodsimagename" name="goodsimagename" value="wallhaven-2e3839"> <input type="hidden" id="goodssuffix" name="goodssuffix" value="jpg"> <input type="hidden" id="goodsimagetype" name="goodsimagetype" value="image/jpg"> <input type="hidden" id="goodsimagesize" name="goodsimagesize" value="8888"></td> </tr> <tr> <td colspan="2" style="text-align: center;"><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add',onClick:add">提交</a></td> </tr> </table> </form> </div> </body> ```
ajax一直不进入success:function()总是提示获取不到数据
public class UserDaoImpl implements UserDao { @Override public User login(User user) { Connection con = null; PreparedStatement ps = null; ResultSet rs = null; try { con = BaseDao.getCon(); String sql = "select * from user where name=? and password=?"; ps = con.prepareStatement(sql); ps.setString(1, user.getName()); ps.setString(2, user.getPassword()); rs = ps.executeQuery(); User users; if (rs.next()) { users = new User(); System.out.println(); users.setId(rs.getInt("id")); users.setName(rs.getString("name")); users.setPassword(rs.getString("password")); users.setEmail(rs.getString("email")); users.setPhone(rs.getString("phone")); users.setMoney(rs.getString("money")); return users; } else { return null; } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override public boolean register(User user) { String sql = "insert into user values(0,?,?,?,?,?) "; List<Object> list = new ArrayList<Object>(); list.add(user.getName()); list.add(user.getPassword()); list.add(user.getEmail()); list.add(user.getPhone()); list.add(user.getMoney()); boolean flag = BaseDao.addUpdateDelete(sql, list.toArray()); if (flag) { return true; } else { return false; } } public ArrayList<User> query() { Connection con = null; ArrayList<User> barArr = new ArrayList<User>(); try { con = BaseDao.getCon(); PreparedStatement stmt = con.prepareStatement("select * from user"); ResultSet rs = stmt.executeQuery(); while (rs.next()) { User bar = new User(); bar.setName(rs.getString("name")); bar.setMoney(rs.getString("money")); barArr.add(bar); } con.close(); } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return barArr; } } @WebServlet("/user/userlogin") public class UserLoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { User user = new User(); // 获取login.jsp页面提交的账号和密码 String name = request.getParameter("name"); String password = request.getParameter("password"); String money=request.getParameter("money"); // 测试数据 System.out.println(name + " " + password+" "+money); // 获取login.jsp页面提交的账号和密码设置到实体类User? user.setName(name); user.setPassword(password); HttpSession session = request.getSession(); // 引入数据交互层 UserDao dao = new UserDaoImpl(); User us = dao.login(user); // 测试返回的值 System.out.println(us); if (us != null) { session.setAttribute("user", user); request.getRequestDispatcher("/index/echarts.jsp").forward(request, response); // request.setAttribute("info", "登录成功"); } else { request.setAttribute("info", "登录失败"); request.getRequestDispatcher("/index/info.jsp").forward(request, response); } UserDaoImpl barDao = new UserDaoImpl(); ArrayList<User> barArr = barDao.query(); response.setContentType("text/html; charset=utf-8"); JSONArray json = JSONArray.fromObject(barArr); System.out.println("得到的数据:"+json.toString()); PrintWriter writer = response.getWriter(); writer.println(json); writer.flush(); writer.close(); } } public class BaseDao { private static String driver; private static String url; private static String user; private static String password; private static String money; static { driver = ResourceBundle.getBundle("db").getString("driver"); url = ResourceBundle.getBundle("db").getString("url"); user = ResourceBundle.getBundle("db").getString("user"); password = ResourceBundle.getBundle("db").getString("password"); } public static Connection getCon() throws ClassNotFoundException, SQLException { Class.forName(driver); System.out.println("测试加载数据库成功"); Connection con = DriverManager.getConnection(url, user, password); System.out.println("测试数据库连接成功"); return con; } public static void close(Connection con, PreparedStatement ps, ResultSet rs) { if (rs != null) {// 关闭 try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (con != null) { try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static boolean addUpdateDelete(String sql, Object[] arr) { Connection con = null; PreparedStatement ps = null; try { con = BaseDao.getCon();// 第一步 :连接数据库的操作 ps = con.prepareStatement(sql);// 第二步:预编译 // 第三步:设置值 if (arr != null && arr.length != 0) { for (int i = 0; i < arr.length; i++) { ps.setObject(i + 1, arr[i]); } } int count = ps.executeUpdate();// 第四步:执行sql语句 if (count > 0) { return true; } else { return false; } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } } <%@page import="org.apache.catalina.connector.Request"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Hello ECharts</title> <!-- 使用单文件引入的方式使用ECharts.JS --> <script type="text/javascript" src="../scripts/echarts-all.js"></script> <script type="text/javascript" src="../scripts/jquery.js"></script> </head> <body> 您的用户名是: ${user.name} <div id="myDiv" style="height: 400px"></div> <script type="text/javascript"> function loadData(option) { $.ajax({ type : 'post', //传输类型 async : false, url : 'bar.do', //web.xml中注册的Servlet的url-pattern data : { "name" : name }, dataType : 'json', //返回数据形式为json success : function(result) { if (result) { option.legend.data = []; option.series[0].data = []; for (var i = 0; i < result.length; i++) { alert(result[i].name + "---" + result[i].money); option.legend.data.push(result[i].name); option.series[0].data.push({ name : result[i].name, value : result[i].money }); } myChart.setOption(option); } }, error : function(errorMsg) { alert("加载数据失败"+errorMsg); } });//AJAX }//loadData() var myChart = echarts.init(document.getElementById('myDiv')); var option = { title : { text : '某站点用户访问来源', subtext : '纯属虚构', x : 'center' }, tooltip : { trigger : 'item', formatter : "{a} {b} : {c} ({d}%)" }, legend : { orient : 'vertical', left : 'left', data : [] }, series : [ { name : '访问来源', type : 'pie', radius : '55%', center : [ '50%', '60%' ], data : [], itemStyle : { emphasis : { shadowBlur : 10, shadowOffsetX : 0, shadowColor : 'rgba(0, 0, 0, 0.5)' } } } ] }; //加载数据到option loadData(option); //设置option </script> </body>
jqgrid获取不到后台数据,大神帮忙看一下
下面是 页面部分: ``` <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!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=urf-8"> <title>调度任务列表</title> <style type="text/css">@import url('${pageContext.request.contextPath}/styles/home.css'); .selected{ background:#F0F0F0;} @import url('${pageContext.request.contextPath}/css/jquery-ui-1.8.4.custom.css'); @import url('${pageContext.request.contextPath}/css/ui.jqgrid.css'); </style> <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-migrate-1.2.1.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/js/grid.locale-zh_CN.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.jqGrid.min.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/js/grid.custom.js"></script> <%-- <script type="text/javascript" src="${pageContext.request.contextPath}/js/common/triggerList.js"></script> --%> <script type="text/javascript"> $(function() { $("#tableList").jqGrid({ url : "${pageContext.request.contextPath}/JobProcessServlet?jobtype=100&action=query", // 提交的action地址 rownumbers : true, // 是否显示前面的行号 datatype : "json", // 返回的数据类型 mtype : "post", // 提交方式 height : "auto", // 表格宽度 autowidth : true, // 是否自动调整宽度 colNames:['Trigger 名称','Trigger 分组','下次执行时间','上次执行时间','优先级','Trigger 状态','Trigger 类型','开始时间','结束时间','操作'], colModel : [ { name : "display_name", index : "display_name", width : 60, sortable : true, align : 'center' }, { name : "trigger_group", index : "trigger_group", width : 60, sortable : true, align : 'center' }, { name : "next_fire_time", index : "next_fire_time", width : 60, sortable : true, align : 'center' }, { name : "prev_fire_time", index : "prev_fire_time", width : 60, sortable : true, align : 'center', }, { name : "priority", index : "priority", width : 60, sortable : true, align : 'center' }, { name : "statu", index : "statu", width : 60, sortable : true, align : 'center' }, { name : "trigger_type", index : "trigger_type", width : 60, sortable : true, align : 'center' }, { name : "start_time", index : "start_time", width : 60, sortable : true, align : 'center' }, { name : "end_time", index : "end_time", width : 60, sortable : true, hidden : true, align : 'center' } , { name : "process", index : "process", sortable : true, hidden : true, align : 'center' }], gridComplete : function() { $("#_empty", "#tableList") .addClass("nodrag nodrop"); $("#tableList").tableDnDUpdate(); var ids = jQuery("#tableList").jqGrid('getDataIDs'); for ( var i = 0; i < ids.length; i++) { var cl = ids[i]; update = "<input type='button' id='update' value='修改作业表达式' onclick='update(" + cl + ")'/>&nbsp;"; runOnce = "<input type='button' id='runOnce' value='立即执行一次' onclick='runOnce(" + cl + ")'/>&nbsp;"; pause = "<input type='button' id='runOnce' value='暂停' onclick='doCmd(" + cl + ")'/>&nbsp;"; recolve = "<input type='button' id='runOnce' value='恢复' onclick='doCmd(" + cl + ")'/>&nbsp;"; del = "<input type='button' id='runOnce' value='删除' onclick='doCmd(" + cl + ")'/>&nbsp;"; jQuery("#tableList").jqGrid('setRowData', ids[i], { process : update + runOnce + pause + recolve + del }); } }, viewrecords : true, sortname : "display_name", rowNum : 20, rowList : [10, 15, 20], prmNames : { search : "search" }, jsonReader : { root : "dataList", // 服务端保存数据的集合 repeatitems : false, page: "page", total: "total", records: "records", cell: "dataList", }, pager : "gridPager", hidegrid : false }); }); </script> </head> <body> <br><br> <table align="center" width="1100" border="0"> <tr> <td align="left"><a href="${pageContext.request.contextPath}/addTrigger.jsp">添加调度任务</a></td> </tr> <tr> <td align="left"><a href="${pageContext.request.contextPath}/logdb">查看作业日志表</a></td> </tr> <tr> <td align="left"><a href="${pageContext.request.contextPath}/compleData.htm">补数</a></td> </tr> </table> <div align="center" style="margin-bottom:5px"> <input type="button" id="update" style="margin-right:10px;" value="修改作业表达式" onclick="update()"> <input type="button" id="runOnce" style="margin-right:10px;" value="立即执行一次" onclick="runOnce()"> <input type="button" id="pause" style="margin-right:10px;" value="暂停" onclick="doCmd('pause')"> <input type="button" id="resume" style="margin-right:10px;" value="恢复" onclick="doCmd('resume')"> <input type="button" id="remove" style="margin-right:10px;" value="删除" onclick="doCmd('remove')"> </div> <table id="tableList"></table> <div id ="gridPager"></div> <%-- <table id="tableList" align="center" width="1100" border="1"> <tr> <th nowrap> 选择 </th> <th nowrap> Trigger 名称 </th> <th nowrap> Trigger 分组 </th> <th nowrap> 下次执行时间 </th> <th nowrap> 上次执行时间 </th> <th nowrap> 优先级 </th> <th nowrap> Trigger 状态 </th> <th nowrap> Trigger 类型 </th> <th nowrap> 开始时间 </th> <th nowrap> 结束时间 </th> <!-- <th nowrap> 动作命令 </th> --> </tr> <c:forEach var="map" items="${list}"> <tr align="center"> <td nowrap> <input type="checkbox" value="${map.trigger_name}"> </td> <td nowrap> ${map.display_name} </td> <td nowrap> ${map.trigger_group} </td> <td nowrap> ${map.next_fire_time} </td> <td nowrap> ${map.prev_fire_time} </td> <td nowrap> ${map.priority} </td> <td nowrap> ${map.statu} </td> <td nowrap> ${map.trigger_type} </td> <td nowrap> ${map.start_time} </td> <td nowrap> ${map.end_time} </td> <td nowrap> <input type="button" id="update" value="修改作业表达式" onclick="update('${map.trigger_name}','${map.job_name}')"> <input type="button" id="runOnce" value="立即执行一次" onclick="runOnce('${map.job_name}')"> <input type="button" id="pause" value="暂停" onclick="doCmd('pause','${map.trigger_name}','${map.trigger_group}','${map.trigger_state}')"> <input type="button" id="resume" value="恢复" onclick="doCmd('resume','${map.trigger_name}','${map.trigger_group}','${map.trigger_state}')"> <input type="button" id="remove" value="删除" onclick="doCmd('remove','${map.trigger_name}','${map.trigger_group}','${map.trigger_state}')"> </td> </tr> </c:forEach> </table> --%> </body> </html> 下面是java部分: private void getQrtzTriggers(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); List<Map<String, Object>> results = this.schedulerService .getQrtzTriggers(); String page = request.getParameter("page"); // 取得当前页数,注意这是jqgrid自身的参数 int rows = 20; int qrtzTriggers = this.schedulerService.countQrtzTriggers(); JSONObject json = new JSONObject(); json.put("dataList", results); json.put("records", qrtzTriggers);//总记录数 json.put("page", page); // 当前页 int total = qrtzTriggers/rows + ((qrtzTriggers%rows)>0?1:0); //计算得出的总页数 json.put("total", total); // 总页数 //System.out.println(rows); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); out.write(json.toString()); System.out.println(json.toString()); /*request.setAttribute("list", results);*/ request.getRequestDispatcher("/list.jsp").forward(request, response); } ```
关于百度地图动态传输覆盖物坐标的问题?
这是代码: var data_info = [ [/*114.884832*/,/*23.836244*/,html.join("")], [/*113.662722*/,/*24.732023*/,html.join("")], [/*113.386763*/,/*23.142491*/,html.join("")], [/*112.125238*/,/*23.276542*/,html.join("")] ]; //信息框内的内容 //动态传数据失败 var url = 'index.json'; var areaJson; var getData = function () { var lngCoord = areaJson["lng"]; var latCoord = areaJson["lat"]; for (var i=0;i<data_info.length;i++) { data_info[i][0] = lngCoord[i]; data_info[i][1] = latCoord[i]; } alert(data_info[0][0]); //114.884832 }; $.getJSON(url, function (data) { areaJson = data; getData(); }); 这是JSON: ![图片说明](https://img-ask.csdn.net/upload/201611/14/1479091746_304858.png) data_info里的数据是4个覆盖物的信息,我现在想用json代替覆盖物的坐标,但是一直出不来。在getData函数内还可以获取到data_info。但是在外面就获取不到了。不知道哪里错了,求解答。 万分感谢!如果我的问题不够详细,请列出,我补上!
form表单参数数量限制在10000个?
一个基于spring mvc+hibernate框架的项目,其中有一个页面,显示用户列表,然后有个批量删除用户功能,就是把所有选中的用户记录的ID值提交到后台,这个ID值是绑定在每一条记录前的chebox里。然后勾选中一万多条用户记录,提交表单向后台发post请求,发现只删除了勾选的前10000条记录。于是我用开发者工具看请求的表单,确认发送的表单值应该跟我勾选的一致。然后再到后台java代码打断点,发现用@RequestParam 标记获取前台表单值的数组变量大小只有10000。再看看里面的值,发现只提交了前10000条用户的记录。我再用request.getParameterValues获取提交表单的值,获取到的数组大小还是10000个用户的值。那么问题来了,不是说好post请求不限制参数长度么,出现这个情况是别的地方限制了长度还是怎么样呢? 我再用js自造一个json对象,生成超过一万对由三位字母构成的属性,并赋值123,用post请求把这些json数据发到后台,然后在后台断点发现只收到一万个属性值。用浏览器捉包可以看到post的数据包有一百多兆大小,已经远远超过网上说的tomcat配置2M限制,什么的,明显跟这个没关系了。我在这里放一下捉包的图: ![图片说明](https://img-ask.csdn.net/upload/201609/28/1475049401_278742.png)
Struts2的拦截器中属性页面获取问题,求解呀!
首先表示感谢,我的问题是这样,客户端通过Jquery与后台Action进行交互,Action返回JSON数理由Jquery在前台页面外理,此时我想在Action中加入一个拦截器判断用户是否登录过,拦截器有一个字段标识用户是否登录,我需要在页面上显示,但是页面获取到的数据总为null,拦截器代码如下: [code="java"] public class GroupManagerInterceptor extends AbstractInterceptor { private static final long serialVersionUID = 7888403326632482987L; private String status;//此属性我要在前台页面中获取 public String getStatus() { return status; } @Override public String intercept(ActionInvocation invocation) throws Exception { HttpSession session = ServletActionContext.getRequest().getSession(); VOManager vom = (VOManager) session.getAttribute("vom"); status="TEST"; if (null == vom) { status="从未登录过"; System.out.println(status); return "login"; } if (null == vom.getUsertype() || !"GroupManager".equals(vom.getUsertype())) { status="用户性质不对"; System.out.println(status); return "login"; } System.out.println(status); return invocation.invoke(); } } [/code] Struts.xml中配置信息如下: [code="xml"] <interceptors> <interceptor name="groupManagerInterceptor" class="com.garageManager.interceptor.GroupManagerInterceptor"></interceptor> <interceptor-stack name="gmInterceptor"> <interceptor-ref name="groupManagerInterceptor"></interceptor-ref> <interceptor-ref name="json"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="gmInterceptor"></default-interceptor-ref> <global-results> <result type="json" name="login"> <param name="includeProperties">status</param> </result> </global-results> [/code] 为什么在页面中status总是为null,我怎么才能获取到拦截器中的这个status呢?再次感谢各位...
ajax使用get发送数据success函数里的页面跳转无法执行
【实际代码中datatype为json截图此处错误】post方式发送java后台得到的data均为null。使用get可以发送成功,但不加async:false,success(suc)函数获取不到suc值,设为同步之后执行到alert(111)就结束了,请问为什么页面跳转没有执行呢?使用IE11(window.navigator也不行)与jq版本1.7.2![图片说明](https://img-ask.csdn.net/upload/201703/11/1489208905_587500.png)
ajax异步请求数据问题。。。看不出哪里错了。。。跪求大神指点。。。
我做ajax读取Excel表格里的数据。。。 **这是JAVA代码** java: ``` public static List<HashMap<Object,Object>> readExcel(String excelPath){ //声明一个集合用于存储解析出来的数据 List<HashMap<Object,Object>> maps = new ArrayList<HashMap<Object,Object>>(); //导入模板文件 String execelFile="D:\\MyEclipse 10\\Workspaces\\import\\WebRoot\\course.xls"; Workbook book =null; try { // 创建文件输入流 InputStream is = new FileInputStream(execelFile); // 获取Excel文件对象 book = Workbook.getWorkbook(is); // 获取制定的工作表,默认第一个 Sheet sheet = book.getSheet(0); // 获取行 int rows = sheet.getRows(); // 获取列 int cols = sheet.getColumns(); // 循环迭代内容 for(int i=0; i<rows; i++){ // 从第二行读取 i+=1; Cell[] cells= sheet.getRow(i); /*String title = cells[0].getContents(); String desc = cells[1].getContents(); System.out.println("行:"+(i+1)); System.out.println("tetle:"+title); System.out.println("desc:"+desc);*/ HashMap<Object,Object> map = new HashMap<Object,Object>(); map.put("tetle", cells[0].getContents()); map.put("desc", cells[1].getContents()); maps.add(map); } System.out.println(maps); } catch (Exception e) { e.printStackTrace(); System.out.println("文件导入异常!"); }finally{ if(book !=null){ book.close(); } } return maps; ``` 这是数据显示的页面: import.jsp ``` <%@page import="org.apache.struts2.json.JSONUtil"%> <%@ page language="java" import="java.util.*, com.yiyun.util.*" pageEncoding="utf-8"%> <% List<HashMap<Object,Object>> lists =importUtil.readExcel(null); out.print(JSONUtil.serialize(lists)); %> ``` 这是ajax异步请求数据显示页面: ajax.jsp ``` <html> <head> <meta http-equiv="Contrnt-Type" content="text/html"; charset="utf-8"> <title>大数据批量导入</title> <meta name="Keywords" content="关键词,关键词"> <meta name="description" content=""> <style type="text/css"> *{ margin:0;padding:0;} body{font-size:12px;font-family:"微软雅黑";color:#666;} .qq{width:800px;height:500px; margin: 70px auto; } .qq h1{font-size:24px;text-align:center;} .qq .upload{width:120px;height:36px;background:#0099cc;display:block;line-height:36px; text-align:center;color:#fff;text-decoration:none;margin:30px 0;border-radius:12px; font-size:16px;} .qq .upload:hover{background:#0094f7;} .qq .con{width:800px;height:500px;border-top:1px solid #a5a5a5; border-bottom:1px solid #6c6c6c;} .qq .con .list p{font-size:14px;line-height: 46px;} .qq .con .list{margin: 20px 0;} .qq .con .list:hover{background:#d8d8d8} </style> </head> <body> <div class="qq"> <h1>大数据批量导入</h1> <a href="#" class="upload">上传批量数据</a> <div class="con"> </div> </div> <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script> <script type="text/javascript"> $(function(){ alert(1); $(".upload").click(function(){ alert(2); $.ajax({ type:"post", url:"index.jsp", seccess:function(data){ var jdata = eval("("+data+")"); var html = ""; for(var i=0; i<jdata.length; i++){ html+="<div class='list'>"+ "<p>第"+(i+1)+"课名称"+jdata[i].title+"</p>"+ "<p>描述"+jdata[i].desc+"</p>"+ "</div>"; } $(".con").html(html); }, error:function(e){ alert("错误:"+e); } }); }); }); </script> </body> </html> ``` 点击上传批量数据时。。。数据没从Excel表中读取出来。。。这是为什么??请大神赐教
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
MyBatis研习录(01)——MyBatis概述与入门
C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往——自定义View系列教程(10篇) 走出思维困境,踏上精进之路——Android开发进阶精华录 讲给Android程序员看的前端系列教程(40集免费视频教程+源码) 版权声明 本文原创作者:谷哥的小弟 作者博客
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
Python绘图,圣诞树,花,爱心 | Turtle篇
1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
文章目录1. 前言2. 数据下载3. 数据处理4. 数据可视化 1. 前言 今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。 2月6日追记:本文发布后,腾讯的数据源多次变更u
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
渗透测试-灰鸽子远控木马
木马概述 灰鸽子( Huigezi),原本该软件适用于公司和家庭管理,其功能十分强大,不但能监视摄像头、键盘记录、监控桌面、文件操作等。还提供了黑客专用功能,如:伪装系统图标、随意更换启动项名称和表述、随意更换端口、运行后自删除、毫无提示安装等,并采用反弹链接这种缺陷设计,使得使用者拥有最高权限,一经破解即无法控制。最终导致被黑客恶意使用。原作者的灰鸽子被定义为是一款集多种控制方式于一体的木马程序
Python:爬取疫情每日数据
前言 有部分同学留言说为什么412,这是因为我代码里全国的cookies需要你自己打开浏览器更新好后替换,而且这个cookies大概只能持续20秒左右! 另外全国卫健委的数据格式一直在变,也有可能会导致爬取失败! 我现在已根据2月14日最新通报稿的格式修正了! 目前每天各大平台,如腾讯、今日头条都会更新疫情每日数据,他们的数据源都是一样的,主要都是通过各地的卫健委官网通报。 为什么已经有大量平台做
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告(本文) 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
粒子群算法求解物流配送路线问题(python)
粒子群算法求解物流配送路线问题(python) 1.查找论文文献 找一篇物流配送路径优化+粒子群算法求解的论文 参考文献:基于混沌粒子群算法的物流配送路径优化 2.了解粒子群算法的原理 讲解通俗易懂,有数学实例的博文:https://blog.csdn.net/daaikuaichuan/article/details/81382794 3.确定编码方式和解码策略 3.1编码方式 物流配送路线的
教你如何编写第一个简单的爬虫
很多人知道爬虫,也很想利用爬虫去爬取自己想要的数据,那么爬虫到底怎么用呢?今天就教大家编写一个简单的爬虫。 下面以爬取笔者的个人博客网站为例获取第一篇文章的标题名称,教大家学会一个简单的爬虫。 第一步:获取页面 #!/usr/bin/python # coding: utf-8 import requests #引入包requests link = "http://www.santostang.
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c#开发的dll注册 c#的反射 c# grid绑定数据源 c#多线程怎么循环 c# 鼠标左键 c# char占位符 c# 日期比较 c#16进制转换为int c#用递归求顺序表中最大 c#小型erp源代码
立即提问