在jsp页面中js数组如何获取java字符串数组的值
var arrName=new Array(<% String[] name=(String[])request.getAttribute("arrName"); out.print(name[0]); System.out.println(name[0]); for(int i=0;i<name.length;i++) { out.print(","); out.print(name[i]); } %>); alert(arrName[0]);

已确认数组name[]中有值,但js数组arrName中没有值

1个回答

js获取java字符串数组的值,,,
java程序实在后台运行的,,运行完插入到页面中,,

没有值只能说名,这里没获取到

 <% String[] name=(String[])request.getAttribute("arrName"); out.print(name[0]); System.out.println(name[0]); for(int i=0;i<name.length;i++) { out.print(","); out.print(name[i]); } %>

题主可以在前台,查看页面源码,看看
var arrName=new Array(后面有木有想要的东西

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js数组如何获取java字符串数组的值

``` <script type="text/javascript"> var arrName=new Array(<% String[] name=(String[])request.getAttribute("arrName"); out.print(name[0]); System.out.println(name[0]); for(int i=0;i<name.length;i++) { out.print(","); out.print(name[i]); } %>); alert(arrName[0]); </script> ``` java数组name[]中确认有值,但js数组arrName[]里没有

jsp中一个java的字符串数组如何传值给javascript????? 急

[color=red]<% String[] sa={"aaa1","aaaa2"}; %> <SCRIPT language=JavaScript type=text/JavaScript> var names = <%=sa%>; .....[/color] 如上面描述。我想把字符串数组传给javascriipt 得不到值啊。。 但是光用String 就可以。 <% String str="aaa"; %> <SCRIPT language=JavaScript type=text/JavaScript> var name = "<%=str%>"; ..... 清大家帮忙啊

在java后台写了一个map数组,怎么在jsp页面展示数组的内容

![图片说明](https://img-ask.csdn.net/upload/201610/18/1476788243_358622.png) 这里打印出来的数组类似于{CPU:1, CORE:4, MEMORY:8G, HardDisk:10T, BankWidth:8M}这样子的 ![图片说明](https://img-ask.csdn.net/upload/201610/18/1476788291_914948.png) 现在要把这个数组在jsp页面的onchange事件里使用,替换掉ResourceMsg的这些静态的内容

在jsp中得到了servlet穿过来的数组,怎么把这个数组拿给js呢?

``` <% String [] a = (String[])request.getAttribute("String"); %> <script> var data = new Array(); data = <%=a%>; </script> ``` 这样貌似不行,有什么可行的方法呢?

在jsp页面上动态生成一个数组,如何通过按钮点击事件将数组显示在一个textarea里

在jsp页面上动态生成一个数组,如何通过按钮点击事件将数组显示在一个textarea里

将一串字符串处理成集合的形式

现有一串字符串 [{"chlobj" :"B-E601"},{"chlobj" :"B-E617"},{"chlobj" :"B-E636"},{"chlobj" :"B-E801"},{"chlobj" :"B-E893"},{"chlobj" :"B-J608"},{"chlobj" :"B-J609"}],怎么处理这串字符串将他变成数组 或者将这串字符串传到前端怎么弄成下拉框的形式,只需要B-E636这些显示,其他不需要]

遍历每一个span 判断如果是字符串1里的字就添加class类名a,如果是字符串2就添加class类名b。

<div> <a href="#">XXXXX</a> <p>XXXX</p> <span>字符串1</span> </div> <div> <a href="#">XXXXX</a> <p>XXXX</p> <span>字符串2</span> </div> <div> <a href="#">XXXXX</a> <p>XXXX</p> <span>字符串1</span> </div> <div> <a href="#">XXXXX</a> <p>XXXX</p> <span>字符串1</span> </div>

关于javaweb中request.getParameter()获取的内容转换为字符串报错现象

String page=new String(request.getParameter("page").getBytes("iso-8859-1"),"utf-8"); System.out.println("请求page的值为"+page); String name=new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8"); if(name.equals("find")){ ** System.out.println("执行find函数"); 执行这句报空指针异常错误** }

javascript接受struts传过来的数组问题

我想在jsp页面里面用javascript定义一个数组来接受java传过来的数据怎么老是收不到数据,传一个字符串可以,传一个字符串数组就没数据了? jsp页面 Java代码 [code="java"] <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <script> var string = '<s:property value="sometext"/>'; var idx = 1; function dosomething() { idx ++; if (idx > 10) idx = 1; document.all.txtarea.innerText = string[idx]; return false; } function dosomething1() { idx --; if (idx < 1) idx = 10; document.all.txtarea.innerText = string[idx]; return false; } </script> <div id="txtarea"></div> <input type="submit" onclick="return dosomething();"> <input type="submit" onclick="return dosomething1();"> </body> </html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <script> var string = '<s:property value="sometext"/>'; var idx = 1; function dosomething() { idx ++; if (idx > 10) idx = 1; document.all.txtarea.innerText = string[idx]; return false; } function dosomething1() { idx --; if (idx < 1) idx = 10; document.all.txtarea.innerText = string[idx]; return false; } </script> <div id="txtarea"></div> <input type="submit" onclick="return dosomething();"> <input type="submit" onclick="return dosomething1();"> </body> </html> [/code] struts [code="java"] package com.jwl.exam; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class testjs extends ActionSupport{ private String[] sometext={"dfslhk","fsdfsdf"}; public String[] getSometext() { System.out.println("getSometext()"); return sometext; } public void setSometext(String[] sometext) { this.sometext = sometext; } } [/code] 只是粗略的试了一下 字符串可以 数组 不知道是哪里写错了 老是没有数据

js 用str+=拼接select标签 选中状态 替换jsp静态页面下拉菜单 无法展示选中状态

js部分代码 ``` /* 下半截部分组合表动态展示修改和添加 */ var arrESC = eval(json.listEarScanCp);// arrESC是一个数组频扫结论组合表 var str = ""; var str1 = ""; for (var i = 0; i < arrESC.length; i++) { // str += "<input type=\"hidden\" name=\"id2\" // id=\"id2\" value=\"" // + arrESC[i].id + "\"/>"; // str += "<input type=\"hidden\" name=\"id3\" // id=\"id3\" value=\"" // + arrESC[i].bianzhengId + "\"/>"; str += "<tr>"; str += "<td colspan=\"8\">"; str += "<div style=\"margin-left: 148px;\" id=\"earScanCp\">"; str += "<div style=\"float: left;\">"; str += "<textarea style=\"width: 50px;margin-left: -86px;position: absolute;\" id=\"cp_id\" name=\"cp_id\" >" + arrESC[i].id + "</textarea>"; str += "<select style=\"width: 60px;height: 36px;margin-left: 20px;\" id=\"gender\" name=\"gender\" >" var myselect = document.getElementById("gender");// 这个获取的是静态jsp页面里标签 // var index = myselect.selectedIndex; alert("myselect坐标0的值:" + myselect.options[0].value); /* * 下拉框主要是应展示项和所有下拉选项的值判断是否对应 分清主和客 所有展示项目为主表 * 客表的某一项值和遍历主表的值对应 这里面 下拉框所有选项值是主表 */ var str1 = ""; for (var j = 0; j < myselect.options.length; j++) {// 下拉框是主家从静态页面获取并且遍历它 alert("j值:" + myselect.options[j].value); // alert("arrESC[i].gender值:" + arrESC[i].gender); // alert("myselect.options[j].text值:" // + myselect.options[j].text); str += "<option value=\"" + myselect.options[j].value + "\">" + myselect.options[j].text + "</option>"; if (myselect.options[j].value == arrESC[i].gender) { // myselect.options[j].selected = true; // break; // arrESC[i].gender = "selected='selected'"; myselect.options[j].selected = 'selected'; } } // $("#gender").html(str1) // $("#gender").html(str); "</select>"; arrESC[i].gender = "selected='selected'"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"min_age\" name=\"min_age\" >" + arrESC[i].min_age + "</textarea>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"max_age\" name=\"max_age\" >" + arrESC[i].max_age + "</textarea>"; str += "<textarea style=\"width: 300px;margin-left: 10px;\" id=\"xuewei_id\" name=\"xuewei_id\" >" + arrESC[i].xuewei_id + "</textarea>"; str += "<textarea style=\"width: 220px;margin-left: 10px;\" id=\"chuzhen_id\" name=\"chuzhen_id\" >" + arrESC[i].chuzhen_id + "</textarea>"; str += "<textarea style=\"width: 60px; height: 36px;margin-left: 10px;margin-top: 0px;\" id=\"bp\" name=\"bp\">" + arrESC[i].bp + "</textarea>"; str += "<textarea style=\"width: 50px; height: 36px;margin-left: 10px;margin-top: 0px;\" id=\"jielun_conform\" name=\"jielun_conform\">" + arrESC[i].jielun_conform + "</textarea>"; str += "</div>"; str += "<div >"; str += " <input type=\"button\" onclick=\"delRow(this," + arrESC[i].id + "," + arrESC[i].bianzhengId + ")\" value=\"删除\" id=\"deleteESC\" name=\"deleteESC\" style=\"float: left; margin-left:10px; margin-top: 5px;\">"; str += "</div>"; str += "</div>"; str += "</td>"; str += "</tr>"; $("#tbody1").html(str); } ``` jsp页面代码 ``` <div id="bottom"> <input type="button" onclick="addRow1()" value="添加项目" id="saveXiangmu" name="saveXiangmu" style="float: right; margin-right: 95px;"> <table border="0" cellpadding="2" cellspacing="1" style="width: 100%" id="rowTable1"> <thead> <th></th> <tr> <td colspan="8" style="line-height: 40px;"><label style="position: absolute;float: left; margin-left: 75px;">组合表ID</label> <label style="float: left; margin-left: 175px;">性别</label> <label style="float: left; margin-left: 35px;">最小年龄</label> <label style="float: left; margin-left: 20px;">最大年龄</label> <label style="float: left; margin-left: 170px;">阳性穴位</label> <label style="float: left; margin-left: 210px;">视触诊</label> <label style="float: left; margin-left: 116px;">血压</label> <label style="float: left; margin-left: 35px;">符合度</label></td> </tr> </thead> <!-- tbody里面是动态添加的内容 --> <tbody id="tbody1"> <tr> <td colspan="8"> <div style="margin-left: 148px;" id="earScanCp"> <div style="float: left;"> <textarea style="width: 50px; margin-left: -80px; position: absolute;"></textarea> <select style="width: 50px; height: 36px; margin-left: 4%;" id="gender"> <!-- position: absolute;--> <option value=0>男</option> <option value=1>女</option> <option value=2>通用</option> </select> <textarea style="width: 50px; margin-left: 2%;"></textarea> <textarea style="width: 50px; margin-left: 2%; /* margin-top: -2.5%; */"></textarea> <textarea style="width: 350px; margin-left: 2%; /* margin-top: -2.5%; */"></textarea> <textarea style="width: 250px; margin-left: 2%;/* margin-top: -2.5%; */"></textarea> <select style="width: 60px; height: 36px;margin-left: 102%;margin-top: -6%;"> <option value=0>正常</option> <option value=1>高血压</option> <option value=2>低血压</option> </select> <textarea style="width: 50px; margin-left: 112%;margin-top: -6%;">50</textarea> <!-- <input type="hidden" name="id2" id="id2" /> --> </div> </div> </td> </tr> </tbody> </table> </div> ``` 下拉框应该显示 通用选项 只有在调试过程中显示了通用 但是最终结果还是三个选项都显示了 ![图片说明](https://img-ask.csdn.net/upload/201807/18/1531885847_167042.png) ![调试过程可以显示选中状态](https://img-ask.csdn.net/upload/201807/18/1531885867_277218.png) 拼接的内容替换 jsp页面固定标签内容 选中状态消失了 ![选中状态消失](https://img-ask.csdn.net/upload/201807/18/1531885911_845477.png)

用javascript传递中文参数,但javascript里面的编码是:ISO8859_1

用javascript传递中文参数,但javascript里面的编码是:ISO8859_1 这样在JAVA程序里面就是乱码? 请问怎么在JAVASCIPT里面改变JAVASCIPT的编码? [b]问题补充:[/b] 但是我JSP面是<%@ page language="java" pageEncoding="GB18030"%> 为什么JAVASCRIPT的编码就是ISO8859_1? [code="java"] var myEmail = /^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$/; var mymail = filed.email.value; var flag = myEmail.test(mymail); //为什么flag验证Email为false [/code] [b]问题补充:[/b] 我的东西和同事的东西是在同一个工程下面....他先做的用的GB2312........................ [b]问题补充:[/b] 麻烦就麻烦吧.....只要不用JAVASCRIPT传值就没有事的....以后一定用UTF-8 刚学JSP的时候都是坚持使用UTF-8的,现在放弃了......

java后台JSONArray传到前台双引号(")被转成&#034

没有使用ajax传递数据,使用的是webwork进行前后台交互,在javascript中使用jstl的c:out进行接收数据 ![图片说明](https://img-ask.csdn.net/upload/201512/14/1450077669_278770.png)

为什么我用cookie保存的日期时间(Date)不对呢?

输出结果: ![图片说明](https://img-ask.csdn.net/upload/201912/15/1576397789_358200.png) ++++++++++++++++++++++++++ 源码(这里的排版有问题,不知道怎么调。。。): protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 设置响应的消息体的数据格式以及编码(为了支持中文) resp.setContentType("text/html;charset=utf-8"); // 定义一个变量判断是否找到LastTime这个cookie boolean lasttime = false; // 1、获取所有cookie Cookie[] cookies = req.getCookies(); // 2、遍历数组,并且找出其中 name="LastTime" 的键值对 if(cookies != null && cookies.length > 0){ for(Cookie cookie : cookies){ // 找出 LastTime String name = cookie.getName(); if("LastTime".equals(name)){ // 如果匹配出来,说明不是第一次访问 lasttime = true; // 设置cookie的value // 获取当前时间的字符串,重新设置cookie的值 Date date = new Date(); // 设置 日期的输出格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日-hh:mm:ss"); String new_value = sdf.format(date); cookie.setValue(new_value); // 设置cookie的存活时间 cookie.setMaxAge(60*60*24); // 覆盖原来的value resp.addCookie(cookie); String value = cookie.getValue(); // 取出数据 resp.getWriter().write("<h1>欢迎回来,您上一次访问的时间是:"+value+"</h1>"); // 找到了就不用再找了 break; } } } if(cookies == null || cookies.length == 0 || lasttime == false){ // 以上条件都成立,说明是第一次访问 // 获取当前时间的字符串,重新设置cookie的值 Date date = new Date(); // 设置 日期的输出格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd日-hh:mm:ss"); String new_value = sdf.format(date); Cookie cookie = new Cookie("LastTime", new_value); // 设置cookie的存活时间 cookie.setMaxAge(60*60*24); // 覆盖原来的value resp.addCookie(cookie); resp.getWriter().write("<h1>您好,欢迎你首次访问</h1>"); } } ++++++++++++++++++++++++++

查询时,js传参到后台(参数是int类型),后台接收不到,报转换异常,急急急!!!!在线等 !!

严重: Servlet.service() for servlet [springMVC] in context with path [/LINK] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer] with root cause java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at org.hibernate.type.IntegerType.set(IntegerType.java:64) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:154) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136) at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1769) at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1740) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1612) at org.hibernate.loader.Loader.doQuery(Loader.java:717) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270) at org.hibernate.loader.Loader.doList(Loader.java:2294) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172) at org.hibernate.loader.Loader.list(Loader.java:2167) at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:119) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1706) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:347) at org.springframework.orm.hibernate3.HibernateTemplate$36.doInHibernate(HibernateTemplate.java:1056) at org.springframework.orm.hibernate3.HibernateTemplate$36.doInHibernate(HibernateTemplate.java:1) at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406) at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374) at org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:1046) at com.bochy.link.cn.dao.impl.StorageDaoImpl.likeSelect(StorageDaoImpl.java:59) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy19.likeSelect(Unknown Source) at com.bochy.link.cn.controller.StorageController.likeSelect(StorageController.java:47) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 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:218) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 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)

做了一个小时的面试题(没有过 希望大家帮忙答下 虽然很幼稚 毕竟每个人都是这么过来的吗 感激了!)

XX软件工程师笔试试题 注:1、请参考人员将答案写在答题纸上,勿将答案写在此卷上。 2、请参考人员将编号与姓名填写在答题纸上。 1、 以下数据结构中不属于线性数据结构的是()。 A、队列 B、线性表 C、二叉树 D、栈 我的答案:C 2、 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。 A、 可行性分析 B、需求分析 C、详细设计 D、程序编码 我的答案:B 3、 结构化程序设计主要强调的是()。 A、 程序的规模 B、程序的易读性 C、程序的执行效率 D、程序的可移植性 我的答案:C 4、 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段()。 A、 概要设计 B、详细设计 C、可行性分析 D、需求分析 我的答案:B 5、 下列关于栈的叙述中正确的是()。 A、 在栈中只能插入数据 B、在栈中只能删除数据 B、 栈是先进先出的线性表 D、栈是先进后出的线性表 我的答案:D 6、 下面不属于软件设计原则的是()。 A、 抽象 B、模块化 C、自底向上 D、信息隐蔽 我的答案:C 7、 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。 A、 N+1 B、N C、(N+1)/2 D、N/2 我的答案:C 8、 视图设计一般有3种设计次序,下列不属于视图设计的是()。 A、 自顶向下 B、由外向内 C、由内向外 D、自底向上 我的答案:C 9、下列有关数据库的描述,正确的是()。 A、数据库是一个DBF文件 B、数据库是一个关系 C、数据库是一个结构化的数据集合 D、数据库是一组文件 我的答案:C 10、下列说法中,不属于数据模型所描述的内容的是()。 A、数据结构 B、数据操作 C、数据查询 D、数据约束 我的答案:A 11、若按功能划分,软件测试的方法通常分为白盒测试方法和(黑盒测试方法)。 12、数据库系统的三级模式分别为(级联)模式、内部级模式与外部级模式。 13、在最坏情况下,冒泡排序的时间复杂度为(N+1/2)。 14、在面向对象方法中,信息隐蔽是通过对象的(封装)性来实现的。 15、关系模型的数据操纵既是建立在关系上的数据操纵,一般有(插入)、增加、删除、和修改四种操作。 16、TIME()的返回值的数据类型是(String)类型。 17、编写SQL语句 1)、创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 我的答案: create table student( studentCardNo number(2) primary key, name char(10), age number(2), sex char(2) check(sex in (‘男’,’女’)), address varchar2(100), tel number(2) ) 2)、修改学生表的结构,添加一列信息,学历 我的答案: alter table student add(xueli varchar2(20)); 3)、修改学生表的结构,删除一列信息,家庭住址 我的答案: alter table student drop column address; 4)、向学生表添加如下信息: 学号 姓名 年龄 性别 联系电话 学历 1 A 22 男 123456 小学 2 B 21 男 119 中学 3 C 23 男 110 高中 4 D 18 女 114 大学 我的答案: insert into student values(‘&1’,’&2’,’&3’); 一次一次添加 5)修改学生表的数据,将电话号码以11开头的学员的学历改为“大专” 我的答案: update student set xueli=”大专” where tel like 11%; 6)删除学生表的数据,姓名以C开头,性别为‘男’的记录删除 我的答案: delete student where name like C% or sex=”男”; 7)查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号显示出来 我的答案: select name,studentCardNo from student where age<22 and xueli=”大专”; 8)查询学生表的数据,查询所有信息,列出前25%的记录 我的答案: select top*0.25 from student; 9)查询出所有学生的姓名,性别,年龄降序排列 我的答案: select name,sex,age from student where age desc; 10)按照性别分组查询所有的平均年龄 我的答案: select avg(age) from student group by sex; 18、什么是存储过程?为什么存储过程要比单纯的SQL语句执行起来要快? 我的答案: 存储过程算是一种优化查询需要比单存SQL语句执行的要快 19、两张关联表,删除主表中已经在副表中没有的信息 我的答案 delete from fubiao a where a.fid not in(select id from zhubiao) 20、程序题: 用1、2、2、3、4、5这六个数字,用java或你熟悉的语言,打印出所有不同的排列,如:512234、412345等,要求:“4”不能再第三位,“3”与“5”不能相连。并将这些数据按从小到大输出。 我的答案 我的写的不好 没贴下 笔试的时候没写全 21、String 和 StringBuffer的区别 我的答案 String定长 StringBuffer 变长 22、&和&&的区别 我的答案 &短路与 &&逻辑与 网上答案: & 是位运算符,表示按位与运算, && 是逻辑运算符,表示逻辑与(and)。 23、final,finally,finalize的区别 我的答案 Final静变量关键字,finally异常关键字,finalize 网上答案 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法, 可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 24、数组有没有length()这个方法?String有没有length()这个方法? 我的答案: 数组没有length()这个方法,有length的属性。 String有length()这个方法。 25、是否可以继承String类? 我的答案: 不可以 解释的很乱 26、说出数据连接池的工作机制是什么? 我的答案: 反正解释的很乱我感觉 27、垃圾回收的优点和原理。并考虑2种回收机制。 我的答案: 动态回收 解释的很乱 网上答案: Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解, 它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念, 只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。 垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有 使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。 回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 28、你所知道的集合类都有哪些?区别?主要方法? 我的答案: Arraylist 非线性的、Vertor线性的 29、JSP的内置对象及方法。 我的答案: Page,exception,out,page content,application,request,reponse,session,config 30、页面间对象传递的方法。 我的答案: 那几个方法都写错了 31、你知道Request对象的主要方法有哪些? 32、J2EE是技术还是平台还是框架? 我的答案: J2EE是技术也是平台 网上答案: J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。 J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。 33、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种(例如GBK编码类型)编码的字符串? Request encording(“GBK”) 34、j2ee常用的设计模式?说明工厂模式。 Gof23种设计模式 工厂模式:Factory 网上答案: Java中的23种设计模式: Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式), Prototype(原始模型模式),Singleton(单例模式), Facade(门面模式), Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式), Decorator(装饰模式), Flyweight(享元模式), Proxy(代理模式), Command(命令模式), Interpreter(解释器模式), Visitor(访问者模式), Iterator(迭代子模式), Mediator(调停者模式), Memento(备忘录模式), Observer(观察者模式), State(状态模式), Strategy(策略模式), Template Method(模板方法模式), Chain Of Responsibleity(责任链模式) 工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例, 通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。 首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。 然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。 当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。 35、JSP四种会话跟踪技术 我的答案: Application cookie session 36、排序都有哪几种方法?请举例 冒泡 选择 快序 二分查找 网上答案: 排序的方法有:插入排序(直接插入排序、希尔排序), 交换排序(冒泡排序、快速排序), 选择排序(直接选择排序、堆排序), 归并排序,分配排序(箱排序、基数排序) 快速排序的伪代码。 //使用快速排序方法对a[ 0 :n- 1 ]排序 从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点 把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点 递归地使用快速排序方法对left 进行排序 递归地使用快速排序方法对right 进行排序 所得结果为l e f t + m i d d l e + r i g h t 37、关于模块间的设计原则? 规范要一样 38、项目过程一般是怎样的?你参加过几个项目开发?参加过的项目流程是怎样的?自己负责与人合作工作内容及自我评价? 从需求调研——设计开发——实施 参加过网站的实施 模板的制作 39、tomcat自动关闭常见原因? 我的答案: 现在没遇到过 40、如何设置TOMCAT内存和连接数? 我的答案: Tomcat群集 41、你如何理解Tomcat是什么? 我的答案: Tomcat是JSP Servlet 容器恰当的说 42、静态变量和实例变量的区别? 我的答案: 静态变量域用final修饰,每次都被调用 实例变量则不会 43、IE、FF下面CSS的解释区别 我的答案: 自己编的 44、web前端技术你了解哪些技术? 我的答案: JAVAScript,CSS,DIV,Ajax,Ajax框架,DWR,dojo,jguery 45、什么是报表?什么是报表控件,作用是什么?你了解哪些报表工具? 我的答案: 解释的很乱 46、你了解的那些统计图表类型? 我的答案: 自己编的 47、Flex与数据库连接的三种方式? 我的答案: 自己编的 ------------------------------------------------------- 我答错的、 错在哪里? 没答上的帮忙解答下? 感激了 !

动态添加name属性相同的select2标签多选下拉框 如何取值和赋值

**问题描述:** 所有下标值混合一块 ; **需要实现的效果:** 心 肺 小肠 对应id 分别1、2、3 作为一组 xuewei_id[0] 第二行 对应下标为 xuewei_id[1] ![图片说明](https://img-ask.csdn.net/upload/201808/01/1533115383_492903.png) ![图片说明](https://img-ask.csdn.net/upload/201808/01/1533116123_928546.png) 图3 这个是直接接受 select2 标签的穴位id ![图片说明](https://img-ask.csdn.net/upload/201808/01/1533116308_133310.png) js代码 ``` // 显示修改关键字症状界面 function updateView(id, system_id) { $("#btntype").val(1); $("#Submit1").click(function() { add(1); }); $ .ajax({ type : "POST", url : "/erzhentang/manage/forAjax.do?requestType=12.1", data : "id=" + id + "&system_id=" + system_id, // 发送到服务器的数据默认id是结论id success : function(msg) { $("#xuewei_id").val("1,2,3").select2(); /* alert(msg); */ var json = eval('(' + msg + ')'); document.getElementById("addModel").style.display = "block"; document.getElementById("id1").value = json.earScanJielun.id; document.getElementById("system_id1").value = json.earScanJielun.system_id; /* 遍历所属系统下所有 耳穴频扫疾病项 */ var arrESJ = eval(json.listEarScanJibing);// arrESJ是一个数组 var checkESJ = document.getElementById("jibing_num1"); var str2 = ""; for (var j = 0; j < arrESJ.length; j++) { str2 += "<option value=\"" + arrESJ[j].jibing_num + "\">" + arrESJ[j].name + "</option>"; var checkESJ2 = arrESJ[j].name; if (arrESJ[j].jibing_num == json.earScanJielun.jibing_num) {// 疾病编号人为控制每个编号都是唯一 arrESJ[j].name = "selected='selected'"; } $("#jibing_num1").html(str2); } document.getElementById("jibing_num1").value = json.earScanJielun.jibing_num; document.getElementById("jielun_rank1").value = json.earScanJielun.jielun_rank; document.getElementById("jielun1").value = json.earScanJielun.jielun; /* 下半截部分组合表动态展示修改和添加 */ var arrESC = eval(json.listEarScanCp);// arrESC是一个数组频扫结论组合表 var str = ""; var str1 = ""; for (var i = 0; i < arrESC.length; i++) { str += "<tr>"; str += "<td colspan=\"8\">"; str += "<div style=\"margin-left: 148px;\" id=\"earScanCp\">"; str += "<div style=\"float: left;\">"; str += "<textarea style=\"width: 50px;margin-left: -86px;position: absolute;\" id=\"cp_id\" name=\"cp_id\" >" + arrESC[i].id + "</textarea>"; str += "<select style=\"width: 60px;height: 36px;margin-left: 20px;\" id=\"gender\" name=\"gender\" >" var myselect = document.getElementById("gender");// 这个获取的是静态jsp页面里标签 /* * 下拉框主要是应展示项和所有下拉选项的值判断是否对应 分清主和客 * 所有展示项目为主表客表的某一项值和遍历主表的值对应 这里面 下拉框所有选项值是主表 */ var str1 = ""; for (var j = 0; j < myselect.options.length; j++) {// 下拉框是主家从静态页面获取并且遍历它 // alert("j值:" + myselect.options[j].value); str += "<option value=\"" + myselect.options[j].value + "\" " + (myselect.options[j].value == arrESC[i].gender ? "selected='selected'" : "") + ">" + myselect.options[j].text + "</option>"; } "</select>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"min_age\" name=\"min_age\" >" + arrESC[i].min_age + "</textarea>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"max_age\" name=\"max_age\" >" + arrESC[i].max_age + "</textarea>"; // str += "<textarea style=\"width: // 300px;margin-left:10px;\" id=\"xuewei_id\" // name=\"xuewei_id\" >" // + arrESC[i].xuewei_id + "</textarea>"; // str +="<div id=\"selectSection\">"; /* * id=\"xuewei_id\" */ str += "<textarea style=\"width:300px;margin-left:10px;display:none;\" id=\"xuewei_id1\" name=\"xuewei_id1\" >" + arrESC[i].xuewei_id + "</textarea>"; // str += "<div id=\"selectSection\" name=\"selectSection\">"; str += "<select style=\"width: 300px;margin-left:10px;\" name=\"xuewei_id\"class=\"combox\" multiple >" str += "<optgroup label=\"小辈儿组\">"; str += "<option value=\"1\" " + "selected='selected'" + ">心</option>"; str += "<option value=\"2\" " + "selected='selected'" + ">" + "肺" + "</option>"; str += "<option value=\"3\" " + "selected='selected'" + ">" + "小肠" + "</option>"; str += "<option value=\"4\">" + "口" + "</option>"; str += "<option value=\"5\">" + "食道" + "</option>"; str += "</optgroup>"; // str += "</div>"; /* 进一步转换频扫组合表穴位id字符串转array数组 */ /* * var strXueweiId = arrESC[i].xuewei_id; var * arrayXueweiId = strXueweiId.split(","); * * for (var j = 0; j < arrayXueweiId.length; j++) { str2 += "<option * value=\"" + arrayXueweiId[j].value + "\">" + * arrayXueweiId[j].value + "</option>"; var checkESJ2 = * arrayXueweiId[j].name; if (arrayXueweiId[j] == 5) { * arrayXueweiId[j] = "selected='selected'"; } * $("#jibing_num1").html(str2); } */ "</select>"; // // $("#xuewei_id").val("1,2,3").select2(); str += "<textarea style=\"width: 220px;margin-left: 10px;\" id=\"chuzhen_id\" name=\"chuzhen_id\" >" + arrESC[i].chuzhen_id + "</textarea>"; str += "<select style=\"width: 60px;height: 36px;margin-left: 10px;\" id=\"bp\" name=\"bp\" >" var myselect1 = document.getElementById("bp");// 这个获取的是静态jsp页面里标签 for (var k = 0; k < myselect1.options.length; k++) {// 下拉框是主家从静态页面获取并且遍历它 // alert("j值:" + myselect1.options[k].value); str += "<option value=\"" + myselect1.options[k].value + "\" " + (myselect1.options[k].value == arrESC[i].bp ? "selected='selected'" : "") + ">" + myselect1.options[k].text + "</option>"; } "</select>"; str += "<textarea style=\"width: 50px; height: 36px;margin-left: 10px;margin-top: 0px;\" id=\"jielun_conform\" name=\"jielun_conform\">" + arrESC[i].jielun_conform + "</textarea>"; str += "</div>"; str += "<div >"; str += " <input type=\"button\" onclick=\"delRow(this," + arrESC[i].id + "," + arrESC[i].bianzhengId + ")\" value=\"删除\" id=\"deleteESC\" name=\"deleteESC\" style=\"float: left; margin-left:10px; margin-top: 5px;\">"; str += "</div>"; str += "</div>"; str += "</td>"; str += "</tr>"; /* 替换静态页面 */ $("#tbody1").html(str); select2Execute(); } } }); } ``` 执行select2方法 ``` /* 执行select2方法 */ function select2Execute() { $(function() { $("select[name='xuewei_id']").select2({ // $('select[id="xuewei_id"]').select2({ // $('#xuewei_id').select2({ // $("#selectSection").find("select.combox").select2({ // $(".select2-selection__choice").select2(); // $(".combox").select2({ placeholder : "请至少选择一个人名", tags : true, createTag : function(decorated, params) { return null; }, width : '256px' }); function formatState(state) { if (!state.id) { return state.text; } var $state = $('<span>' + state.text + '</span>'); return $state; } ; $('#sel_recommender').select2({ placeholder : "请选择一个人名", templateResult : formatState, width : '256px' }); alert($("select[name='xuewei_id']").select2('data')[0].text); // $("#selectSection").find("select.xuewei_id").val(); // document.getElementById("selectSection").value=$("select[name='xuewei_id']").select2('data'); $("#xuewei_id1").val( $("select[name='xuewei_id']").select2('data'));//赋值给textarea隐藏的标签 alert($("#xuewei_id1").val()); }); } ```

jqGrid 返回正确的json数据却无法正常显示

各位好:目前使用jqGrid插件做数据展示,遇到问题 json返回的数据格式是正确的,但是前台界面却显示,服务器端我使用的struts2,为了方便调试,目前json串的拼接先直接接到txt文件中,action直接读取文件内容返回。方便修改测试,等这个问题解决后,改为 动态拼写,上代码: 返回的json: ``` { "page": "1", "total": 2, "records": "13", "rows": [ { "id": "13", "cell": [ "13", "2007-10-06", "1000.00", "0.00", "1000.00" ] } ] } ``` jsp文件: ``` <%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html> <html> <head> <style> </style> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <base href="<%=basePath%>"> <title>管理员用户信息查询</title> <link rel="stylesheet" type="text/css" href="css/admin/jquery-ui.theme.css" /> <link rel="stylesheet" type="text/css" href="css/admin/ui.jqgrid.css" /> <style> html, body { margin: 0; padding: 0; font-size: 75%; } </style> <script src="js/jquery-2.2.3.min.js" type="text/javascript"></script> <script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script> <script src="js/admin/jquery.jqGrid.min.js" type="text/javascript"></script> <script src="js/admin/grid.locale-en.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready( function() { jQuery("#list4").jqGrid({ url: 'menuMgr/adminUserMgr!query.action' datatype: "JSON", width: 1200, height: 600, colNames:['用户名','邮箱', '权限级别', '标志位','入库时间'], colModel:[ {name:'userName',index:'userName', width:60, sorttype:"int"}, {name:'email',index:'email', width:90, sorttype:"date"}, {name:'perm_level',index:'perm_level', width:80, align:"right",sorttype:"float"}, {name:'flag',index:'flag', width:80, align:"right",sorttype:"float"}, {name:'intime',index:'intime', width:80,align:"right",sorttype:"float"} ], rowNum : 10, pager : '#pager2', multiselect: true, caption: "" }); jQuery("#list4").jqGrid('navGrid', '#pager2', {edit : false,add : false,del : false}); /* 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> <br><span style="font-weight:bold;"> 管理菜单 >> 管理员用户管理 >> 管理员用户信息查询 </span> <br> <br> <table id="list4"></table> <div id="pager2"></div> </body> </html> ``` 静态数据是没问题的(local),动态的就是死活不展示 界面现状: ![图片说明](https://img-ask.csdn.net/upload/201606/13/1465795488_218707.jpg) 不过没C币了,希望大家帮帮我 谢谢大家!

两层for循环判断,如何优化

[code="java"] List<String> myRoles = new ArrayList<String>(); List<String> hasRoles = new ArrayList<String>(); public boolean hasRole() { for (String my : myRoles) { for (String role : hasRoles) { if(my.equals(role)) { return true; } } } return false; } [/code] 上面方面的逻辑是:myRoles集合中的字符串,只要有一个在hasRoles集合中存在,就返回true 但是,这个方法嵌套了2层for循环,效率似乎很低 求改进的方法

Ext treepanel tabpanel 结合问题

<p>    现在从menu.json文件中读取菜单,点击左侧的树形菜单,右侧该如何动态加载相关模块的信息?  请各位指教 谢谢~</p> <p> </p> <p> </p> <p>    menu.json:</p> <p>  </p> <pre name="code" class="xml">{ "code":"11", "name":"信息维护", "href":"", "iconCls":"information", "parentcode":"" },{ "code":"1101", "name":"机构维护", "href":"agency", "iconCls":"building", "parentcode":"11" },{ "code":"110101", "name":"三级菜单", "parentcode":"1101" }</pre> <p> </p> <p>AccordinTreePanel.js代码</p> <p> </p> <pre name="code" class="js">Ext.ns("QM.ui"); QM.ui.MenuPanel = Ext.extend(Ext.Panel, { /** * @cfg(url) 发送请求的地址 */ /** * @cfg(root) json数组的根字符串 */ constructor: function(config){ QM.ui.MenuPanel.superclass.constructor.call(this, Ext.apply({ maxSize: 240, minSize: 210, // collapseMode: 'mini', collapsible : true, // animCollapse: false, id: 'menuPanel', width: 210, header: true, split: true, layout: 'accordion', layoutConfig : { // 展开折叠是否有动画效果 animate : true }, region: 'west', autoScroll: true, margins:'0 0 0 5', cmargins: '0 0 0 0', ref: 'menuPanel' }, config || {})); }, initComponent: function(){ QM.ui.MenuPanel.superclass.initComponent.call(this); this.addEvents( /** * @event itemclick 树结点被点击时触发 参数:node 当前结点对象,record 当前结点对应record对象 */ 'click', /** * @event afterload 菜单项加载完毕后触发 */ 'afterload'); if (!this.store) { this.store = new Ext.data.JsonStore({ url: this.url, root: this.root, fields: ['code', 'name', 'parentcode', 'iconCls', 'href'] }); } this.store.load({ callback: this.loadTrees, scope: this }); }, loadTrees: function(records, o, s){ var pnodes, trees = [], tree; this.store.sort('code'); for (var i = 0; i &lt; records.length; i++) { var record = records[i]; if (!record.get('parentcode')) { tree = this.creatTreeConfig(record); trees.push(tree); pnodes = []; pnodes.push(tree.root); } else { var next_record = records[i + 1]; var isLeaf = !next_record || next_record.get('parentcode') != record.get('code'); this.addTreeNode(pnodes, record, isLeaf); } } Ext.each(trees, function(tree){ this.add(tree); }, this); this.mon(this.el, 'click', this.onClick, this); this.doLayout(); this.store.destroy(); this.fireEvent('afterload', this); }, //@public 根据结点id找到结点对象 getNodeById: function(id){ var node, trees = this.findByType('treepanel', true); Ext.each(trees, function(tree){ node = tree.getNodeById(id); return !node;//找到的话返回false }); return node; }, onClick: function(e, t, o){ if (Ext.fly(t).hasClass('x-tree-ec-icon')) {//点击伸展按钮时无视 return; } var el, id, node; if (el = e.getTarget('.x-tree-node-el', 3, true)) { e.stopEvent(); id = el.getAttributeNS('ext', 'tree-node-id'); node = this.getNodeById(id); var workPanel = this.ownerCt.workPanel; workPanel.showTab(node); this.fireEvent('click', this, node); } }, creatTreeConfig: function(record){ var config = { xtype: 'treepanel', autoScroll: true, rootVisible: false, // useArrows:true, Vista-style的箭头 lines: true, title: record.get('name'), iconCls: record.get('iconCls'), border:false, root: { nodeType: 'async', expanded: true, id: record.get('code'), children: [] }, listeners: { 'deactivate': function(tree){ tree.getSelectionModel().clearSelections(true); } } }; return config; }, addTreeNode: function(pnodes, record, isLeaf){ var len = pnodes.length; for (var i = len - 1; i &gt;= 0; i--) { if (pnodes[i].id != record.get('parentcode')) { pnodes.pop(); } else { var parent = pnodes[i].children; var node = { text: record.get('name'), id: record.get('code'), iconCls: record.get('iconCls'), href: record.get('href'), leaf: isLeaf }; if (!isLeaf) { node.children = []; pnodes.push(node); } parent.push(node); return; } } }, //@public根据node对象/id显示结点所在tree并选中 selectNode: function(node){ var tree; if (Ext.isString(node)) { node = this.getNodeById(node); } tree = node.getOwnerTree(); this.getLayout().setActiveItem(tree.getId()); tree.expandPath(node.getPath()); tree.getSelectionModel().select(node); } }); //showTab用于显示子组件,loadChild用于子组件的加载 QM.ui.WorkPanel = Ext.extend(Ext.TabPanel, { ref: 'workPanel', region: 'center', resizeTabs: true, minTabWidth: 135, tabWidth: 135, plugins: new Ext.ux.TabCloseMenu(), enableTabScroll: true, activeTab: 0, beforeInit: Ext.emptyFn, loadChild: Ext.emptyFn, initComponent: function(){ QM.ui.WorkPanel.superclass.initComponent.call(this); this.on('tabchange', this.onChange); }, onChange: function(tp, tab){ var menuPanel = this.ownerCt.menuPanel; var tree; if (tab.itemId) { menuPanel.selectNode(tab.itemId); } else //选择主页时清空当前树的选择项 if (tree = menuPanel.getLayout().activeItem) { tree.getSelectionModel().clearSelections(true); } }, //@public根据node或id显示对象panel没有的话创建 showTab: function(node){ var menuPanel = this.ownerCt.menuPanel;//找到菜单面板 if (Ext.isString(node)) { node = menuPanel.getNodeById(node); if (!node) { return; } } var tab, attrs = node.attributes; //只有没有下级的才能显示在右侧 if(attrs.leaf){ if (!this.getItem(attrs.id)) { tab = this.add({ itemId: attrs.id, title: attrs.text, iconCls: attrs.iconCls, closable: true, layout: 'fit' }) var child = this.loadChild(tab, node); tab.add(child || {}); this.doLayout(); } this.setActiveTab(attrs.id); } } })</pre> <p> </p> <p>login.jsp 页面</p> <p> </p> <p> </p> <pre name="code" class="jsp">&lt;%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; &lt;title&gt;web管理登录&lt;/title&gt; &lt;!-- 自定义Css样式 --&gt; &lt;link href="&lt;%=request.getContextPath() %&gt;/mycss/houfei-loading.css" rel="stylesheet" type="text/css" /&gt; &lt;link href="&lt;%=request.getContextPath() %&gt;/mycss/houfei-icon.css" rel="stylesheet" type="text/css" /&gt; &lt;link rel="stylesheet" type="text/css" href="&lt;%=request.getContextPath() %&gt;/css/CssStyle.css"/&gt; &lt;link rel="stylesheet" type="text/css" href="&lt;%=request.getContextPath() %&gt;/css/themes.css"/&gt; &lt;!-- Ext 所需的Js和 Css 文件 --&gt; &lt;link href="&lt;%=request.getContextPath() %&gt;/ext-3.2.1/resources/css/ext-all.css" rel="stylesheet" type="text/css" /&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/ext-3.2.1/ext-base.js"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/ext-3.2.1/ext-all.js"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/ext-3.2.1/ext-lang-zh_CN.js" charset="utf-8"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/js/TabCloseMenu.js"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/js/FileUploadField.js"&gt;&lt;/script&gt; &lt;!-- 自定义工具类 --&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/js/GridPanelUtils.js"&gt;&lt;/script&gt; &lt;!-- 主页 --&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/myjs/AccordinTreePanel.js" charset="utf-8"&gt;&lt;/script&gt; &lt;!-- 各分模块 --&gt; &lt;!-- 用户角色 --&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/myjs/userrole/AddUserRoleWindow.js" charset="utf-8"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/myjs/userrole/EditUserRoleWindow.js" charset="utf-8"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/myjs/userrole/UserRoleForm.js.js" charset="utf-8"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="&lt;%=request.getContextPath() %&gt;/myjs/userrole/UserRoleGridPanel.js" charset="utf-8"&gt;&lt;/script&gt; &lt;!-- 主程序 --&gt; &lt;script type="text/javascript"&gt; Ext.ns('App'); //菜单面板 App.MenuPanel = QM.ui.MenuPanel.extend({ root: 'menus', ref: 'menuPanel', url: '/sdcdmp_czfs/myjs/menu.json', title:'导航菜单', iconCls:'houfei-icon-plugin', // tbar:[{}], listeners: { 'click': Ext.emptyFn } }); //工作区面板 App.WorkPanel = QM.ui.WorkPanel.extend({ constructor: function(config){ config = config || {}; Ext.applyIf(config, { items: [{ title: '首页', iconCls:'houfei-homeTabIcon', html: '工作平台' }] }) App.WorkPanel.superclass.constructor.call(this, config); }, //tab:子组件 node:树节点 返回待添加组件 loadChild: function(tab, node){ var attrs=node.attributes; // alert("加载子组件:"+tab.itemId+"==="+attrs.id+"href:"+attrs.href); } }); //负责直连工作区 App.afterLoad = function(viewport){ var qstr = window.location.href.split('?')[1]; if (qstr) { var ps = Ext.urlDecode(qstr); var code = ps['code']; viewport.menuPanel.on('afterload', function(){ viewport.workPanel.showTab(code); viewport.doLayout(); }, null, { single: true }); } } Ext.onReady(function(){ Ext.QuickTips.init(); Ext.BLANK_IMAGE_URL = '/sdcdmp_czfs/ext-3.2.1/resources/images/default/tree/s.gif'; // ThemeManager.init('header'); var menupanel = new App.MenuPanel(); var workpanel = new App.WorkPanel(); var view = new Ext.Viewport({ layout: 'border', items: [{ cls: 'docs-header', height: 30, region: 'north', xtype: 'box', el: 'header', border: false }, { region: 'south', xtype: 'box', el: 'bottom' }, menupanel, workpanel] }); App.afterLoad(view); }); &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="header"&gt; &lt;div class="api-title"&gt; web管理 &lt;/div&gt; &lt;/div&gt; &lt;div id="bottom"&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt;</pre> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p>

定量遥感中文版 梁顺林著 范闻捷译

这是梁顺林的定量遥感的中文版,由范闻捷等翻译的,是电子版PDF,解决了大家看英文费时费事的问题,希望大家下载看看,一定会有帮助的

Java 最常见的 200+ 面试题:面试必备

这份面试清单是从我 2015 年做了 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有那些知识点是我不知道的,我想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。虽然我是从 2009 年就开始参加编程工作了,但我依旧觉得自己现在要学的东西很多,并且学习这些知识,让我很有成就感和满足感,那所以何乐而不为呢? 说回面试的事,这份面试...

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

远程工具,免费

远程工具,免费

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

csma/ca和csma/cd的matlab仿真源代码带有详细的注释

csma/ca和csma/cd的matlab仿真源代码带有详细的注释,载波侦听,随意设置节点数,带有炫酷的图形展示效果。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

软件测试入门、SQL、性能测试、测试管理工具

软件测试2小时入门,让您快速了解软件测试基本知识,有系统的了解; SQL一小时,让您快速理解和掌握SQL基本语法 jmeter性能测试 ,让您快速了解主流来源性能测试工具jmeter 测试管理工具-禅道,让您快速学会禅道的使用,学会测试项目、用例、缺陷的管理、

pokemmo的资源

pokemmo必须的4个rom 分别为绿宝石 火红 心金 黑白 还有汉化补丁 资源不错哦 记得下载

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

无线通信中的智能天线:IS-95和第3代CDMA应用_.pdf

无线通信中的智能天线:IS-95和第3代CDMA应用_.pdf

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

Java8零基础入门视频教程

这门课程基于主流的java8平台,由浅入深的详细讲解了java SE的开发技术,可以使java方向的入门学员,快速扎实的掌握java开发技术!

玩转Linux:常用命令实例指南

人工智能、物联网、大数据时代,Linux正有着一统天下的趋势,几乎每个程序员岗位,都要求掌握Linux。本课程零基础也能轻松入门。 本课程以简洁易懂的语言手把手教你系统掌握日常所需的Linux知识,每个知识点都会配合案例实战让你融汇贯通。课程通俗易懂,简洁流畅,适合0基础以及对Linux掌握不熟练的人学习; 【限时福利】 1)购课后按提示添加小助手,进答疑群,还可获得价值300元的编程大礼包! 2)本月购买此套餐加入老师答疑交流群,可参加老师的免费分享活动,学习最新技术项目经验。 --------------------------------------------------------------- 29元=掌握Linux必修知识+社群答疑+讲师社群分享会+700元编程礼包。 &nbsp;

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

想学好JAVA必须要报两万的培训班吗? Java大神勿入 如果你: 零基础想学JAVA却不知道从何入手 看了一堆书和视频却还是连JAVA的环境都搭建不起来 囊中羞涩面对两万起的JAVA培训班不忍直视 在职没有每天大块的时间专门学习JAVA 那么恭喜你找到组织了,在这里有: 1. 一群志同道合立志学好JAVA的同学一起学习讨论JAVA 2. 灵活机动的学习时间完成特定学习任务+每日编程实战练习 3. 热心助人的助教和讲师及时帮你解决问题,不按时完成作业小心助教老师的家访哦 上一张图看看前辈的感悟: &nbsp; &nbsp; 大家一定迫不及待想知道什么是极简JAVA学习营了吧,下面就来给大家说道说道: 什么是极简JAVA学习营? 1. 针对Java小白或者初级Java学习者; 2. 利用9天时间,每天1个小时时间; 3.通过 每日作业 / 组队PK / 助教答疑 / 实战编程 / 项目答辩 / 社群讨论 / 趣味知识抢答等方式让学员爱上学习编程 , 最终实现能独立开发一个基于控制台的‘库存管理系统’ 的学习模式 极简JAVA学习营是怎么学习的? &nbsp; 如何报名? 只要购买了极简JAVA一:JAVA入门就算报名成功! &nbsp;本期为第四期极简JAVA学习营,我们来看看往期学员的学习状态: 作业看这里~ &nbsp; 助教的作业报告是不是很专业 不交作业打屁屁 助教答疑是不是很用心 &nbsp; 有奖抢答大家玩的很嗨啊 &nbsp; &nbsp; 项目答辩终于开始啦 &nbsp; 优秀者的获奖感言 &nbsp; 这是答辩项目的效果 &nbsp; &nbsp; 这么细致的服务,这么好的氛围,这样的学习效果,需要多少钱呢? 不要1999,不要199,不要99,只要9.9 是的你没听错,只要9.9以上所有就都属于你了 如果你: 1、&nbsp;想学JAVA没有基础 2、&nbsp;想学JAVA没有整块的时间 3、&nbsp;想学JAVA没有足够的预算 还等什么?赶紧报名吧,抓紧抢位,本期只招300人,错过只有等时间待定的下一期了 &nbsp; 报名请加小助手微信:eduxy-1 &nbsp; &nbsp;

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

MySQL 8.0.19安装教程(windows 64位)

话不多说直接开干 目录 1-先去官网下载点击的MySQL的下载​ 2-配置初始化的my.ini文件的文件 3-初始化MySQL 4-安装MySQL服务 + 启动MySQL 服务 5-连接MySQL + 修改密码 先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置初始化的my.ini文件的文件 ...

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

sql语句 异常 Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your

在我们开发的工程中,有时候会报 [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ------ 这种异常 不用多想,肯定是我们的sql语句出现问题,下面...

西南交通大学新秀杯数学建模试题

题目比较难,如果符合大家的口味欢迎大家下载哈,提高你的思维想象能力

Windows版YOLOv4目标检测实战:训练自己的数据集

课程演示环境:Windows10; cuda 10.2; cudnn7.6.5; Python3.7; VisualStudio2019; OpenCV3.4 需要学习ubuntu系统上YOLOv4的同学请前往:《YOLOv4目标检测实战:训练自己的数据集》 课程链接:https://edu.csdn.net/course/detail/28745 YOLOv4来了!速度和精度双提升! 与 YOLOv3 相比,新版本的 AP (精度)和 FPS (每秒帧率)分别提高了 10% 和 12%。 YOLO系列是基于深度学习的端到端实时目标检测方法。本课程将手把手地教大家使用labelImg标注和使用YOLOv4训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv4使用AlexyAB/darknet,在Windows系统上做项目演示。包括:安装软件环境、安装YOLOv4、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算)和先验框聚类分析。还将介绍改善YOLOv4目标检测性能的技巧。 除本课程《Windows版YOLOv4目标检测实战:训练自己的数据集》外,本人将推出有关YOLOv4目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《Windows版YOLOv4目标检测实战:人脸口罩佩戴检测》 《Windows版YOLOv4目标检测实战:中国交通标志识别》 《Windows版YOLOv4目标检测:原理与源码解析》

Spring Boot -01- 快速入门篇(图文教程)

Spring Boot -01- 快速入门篇 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到【慕课网】手机 app,去找【Spring Boot 2.0 深度实践】的课程,令人开心的是,课程完全免费! 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot...

相关热词 c# 不能序列化继承类 c# char* 调用 c# 开发dll模板 c#添加控件到工具箱 c#控制台组合数 编程计算猴子吃桃问题c# c# wpf 背景透明 随机抽取号码软件c# c# 开发环境 c# 属性和字段
立即提问