怎么处理ajax返回对象被包含问题?(返回对象被包含在result中) 20C

图片说明
图片说明
我想返回结果直接就是result中的值,而不是被包了一层。请问有什么办法可以解决?
返回的结果是上面的图片,下面是api方法,调用success实际上就是封装了一个PageOut类,参数实例化返回。( 环境: ABP+Swagger+LayUI , .NET)
图片说明

7个回答

和ws结果一样会有个d属性,ws不想有d属性可以用Response。Write直接输出json字符串。然后Response。End结束输出

你可以试试这种方法用Response输出序列化为json字符串后的内容

qq_30648687
菜鸟本人 回复showbo: 我有时间试试。。。现在有个紧急任务要做。不管怎么样,还是谢谢了。
接近 2 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 这说的不是很对么?谁点的踩
接近 2 年之前 回复
showbo
支付宝加好友偷能量挖 回复qq_30648687: 和框架结合确实比较麻烦,你看下这个框架是否有类似easyui filter的配置返回需要的节点数据。如果没有你也可以改jquery框架返回数据判断如果有result属性直接诶返回result属性而不是原始的json对象。找到JSON.parse的语句,那附近就是你需要的修改的。如这个cdn文件https://cdn.bootcss.com/jquery/1.7.1/jquery.min.js将if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);改为if(a.JSON&&a.JSON.parse)return(obj= a.JSON.parse(b),obj.result?obj.result:obj);就行了
接近 2 年之前 回复
qq_30648687
菜鸟本人 回复showbo: 。。。。我是可以直接用,但是如果直接用的话,那前端使用LayUI那就浪费了,不符合LayUI数据表格对返回值的格式需求。前端使用框架的目的就是为了加快开发速度,提高开发效率,节省时间。
接近 2 年之前 回复
showbo
支付宝加好友偷能量挖 回复qq_30648687: 你纠结这个干吗呢。不就多个步骤而已,如webservice就多个d你没办法弄掉,只能用Response另外输出内容
接近 2 年之前 回复
qq_30648687
菜鸟本人 回复jasonyan1980: 其实就是异步返回对象的时候ajax自己在结果上又给你包装了一层,但是我没找到到底在哪包的,或者怎么不让它包这一层。。
接近 2 年之前 回复
jasonyan1980
jasonyan1980 这个问题不是特别清楚
接近 2 年之前 回复
weixin_42406993
weixin_42406993 学习学习
接近 2 年之前 回复
qq_30648687
菜鸟本人 回复qq_25855861: .net可以使用吗?
接近 2 年之前 回复
qq_25855861
qq_25855861 JSONArray.toJSONString(object)
接近 2 年之前 回复
qq_30648687
菜鸟本人 Response.Write没有这个方法,Response只有Swagger下的
接近 2 年之前 回复

将它转成json

qq_30648687
菜鸟本人 这已经是json对象了
接近 2 年之前 回复

和ws结果一样会有个d属性,ws不想有d属性可以用Response。Write直接输出json字符串。然后Response。End结束输出

你可以试试这种方法用Response输出序列化为json字符串后的内容将它转成json 或者使用JSONArray.toJSONString(object) 直接返回就可以了
也可以试试data.result[0].name或者data.result.get(0).name。

首先把 结果值赋值给一个变量var result=data.result;然后if(rersult.data!=null) {//进行获取具体的数据 如:alert(rusult.data.name); }

else{alert("结果对象为null")}; 注意关键点:返回结果data下面包含一个对象result,而result下面包含一个对象data,这个data才是要处理的对象。

qq_25580555
喜欢猪猪 回复qq_30648687: 那就直接返回datas对象就好了,不要对返回数据进行封装了。
接近 2 年之前 回复
qq_30648687
菜鸟本人 我的意思是在success中拿到的就是这个结构,不是拿之后在js中处理。因为LayUI数据表格是需要返回它规定格式的json的
接近 2 年之前 回复

看你上面的代码好像是返回了一个列表,但你列表里其实只有一个值?如果是这种情况,你返回的时候直接取列表的第一个值返回就是了,如果必须返回一个列表,其实也没什么问题,只不过就不能直接data.result.name这么调用了,你可以采用each这种方式遍历(我都是用这种方式,后面两种方式应该是存在的,但是可能不是那么用的,以前查过资料,如果用后面两种方式,列表中的key值好像必须是long,一看就这么麻烦,所以建议直接遍历吧),也可以直接试试data.result[0].name或者data.result.get(0).name。

qq_30648687
菜鸟本人 你理解错了,我返回的就是一个类,只不过这个类是我自己根据LayUI需要封装的返回值而已。我是将这个类返回,但是在返回的时候不知道在哪帮我包装了一层,把我的返回结果包在了result里面。我现在要的就是不要那层包装,返回回来直接就是我的类对象
接近 2 年之前 回复

PersonListDto只是我使用工具生成的对应的DTO类名,上面说明通过id拿了,所以只有一列数据的

使用JSONArray.toJSONString(object) 直接返回就可以了

qq_30648687
菜鸟本人 .net怎么用?。。。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SpringMVC页面Ajax传JSON到controller,返回包含多个对象的JSON

做的一个练习,筛选,页面随意勾选多个复选框,局部刷新返回显示与复选框value值匹配的对象数据,传JSON到controller,返回包含多个对象的JSON。controller怎么写?返回JSON后页面怎么处理 $.ajax({ url:"user/screening", type:"post", //请求方式 data:"{\"pwd1\":\""+pwd1+"\",\"pwd2\":\""+pwd2+"\",\"email1\":\""+email1+"\",\"email2\":\""+email2+"\"}",//要发送的数据 dataType:"", //服务器返回的数据类型 //data返回的数据,strStatus状态码(200响应正确),xhr:XMLHttpRequest对象 success:function(data,strStatus,xhr){ //请求成功返回数据后执行的代码 eval("var mydata="+data); //eval()将字符串当成JS脚本执行 $.each(mydata,function(i,item){ //i:遍历的下标,item:遍历出的单个对象 $("#show").html(item.id+item.username+item.password+item.email); }); }, error:function(xhr,strStatus,strError){ //请求失败后执行的代码 alert(strError); } }); public UserController(){ userMap.put("1", new User("1","yiyiyi","123456","yiyiyi@qq.com")); userMap.put("2", new User("2","ererer","123456","ererer@qq.com")); userMap.put("3", new User("3","sansansan","123456","sansansan@qq.com")); userMap.put("4", new User("4","yiyiyi","654321","yiyiyi@qq.com")); userMap.put("5", new User("5","ererer","654321","ererer@qq.com")); userMap.put("6", new User("6","sansansan","654321","sansansan@qq.com")); } @RequestMapping(value="screening",method=RequestMethod.POST) @ResponseBody public Object screening(@RequestBody Object object){ JSONObject jo = JSONObject.fromObject(toString()); List<Object> objects = new ArrayList<Object>(); Screening scr = (Screening)JSONObject.toBean(jo, Screening.class); Iterator<Map.Entry<String, User>> iter = userMap.entrySet().iterator(); while(iter.hasNext()){ Map.Entry<String, User> entry = iter.next(); if(scr.getPwd1().equals(entry.getValue().getPassword()) || scr.getPwd2().equals(entry.getValue().getPassword()) || scr.getEmail1().equals(entry.getValue().getEmail()) || scr.getEmail2().equals(entry.getValue().getEmail())){ objects.add(userMap.get(entry.getKey())); } } return objects; } public class Screening { String pwd1; String pwd2; String email1; String email2;

怎么循环ajax返回的数组对象

公共接触前端。萌新不懂就问。感谢各位大佬们。 后台返回的数据:["奥迪","奔驰","五菱宏光"] ``` $(document).ready(function () { $.ajax({ type:"POST", url:"http://localhost:8080/addr/getAllProvince", async:false, success:function(data){ //这里要怎么写循环 for (let i = 0; i <???; i++) { } } }) }); ```

使用@ResponseBody注解,对象有关联子对象,返回的参数应该怎么处理?

比如我有一个对象是User,然后User一对一关联一个Region。 ``` public class User{ private Long id; private String name; private Region region; } ``` 在保存的时候,前端通过ajax请求,请求参数的形式为: ``` { id:'1', name:'test', region.id : '1' } ``` 以前非ajax请求只需要把input标签的name属性设置为"region.id"就行了。 我猜测请求参数的格式应该为: ``` { id:'1', name:'test', region : {id : '1'} } ``` 但是不清楚springmvc有什么解决方案。 我个人对springMVC框架不太熟悉,百度了一下也没搜到相关的资料。不太清楚究竟是什么问题。 请问一下各位这种问题应该怎么解决。 谢谢!

后台返回json数据,提示下载保存

使用ajax方式提交表单 [code="html"] function simpleAjaxForm(formName, check){ $("#" + formName).ajaxForm({ dataType: "json", beforeSubmit: function(){ var msg = check ? validator(check) : null; if(msg) dialogBox(msg); return msg ? false : true; }, success: function(ret){ ajaxReturn(ret); } }); } //ajax返回函数 function ajaxReturn(ret) { if(ret.msg) $.prompt("系统提示", ret.msg, {submit: function(clicked){ if(ret.url) location.href = ret.url; return true; }}); else if(ret.url) location.href = ret.url; } [/code] 后台返回一个json格式的数据,{"msg":"发送成功","url":"order_apply_list.html"} 正常的话,应该是弹出一个发送成功的对话框,然后点击确定,跳转到order_apply_list.html页面才对 但是老是提示我下载保存 PS:前台表单,包含了附件上传

jquery ajax方法调用在session超时以后如何跳转到登录页面?

jquery ajax方法调用在session超时以后如何跳转到登录页面? session超时以后虽然被过滤器过滤到了,但是并不会跳转到登录页面请求具体的解决方法。 我参考了这篇文章,但是我调用ajaxStart不起作用。 http://www.blogjava.net/vickzhu/archive/2009/06/05/280223.html ext jquery 用户访问超时(ext session过期) 解决两种情况下的用户访问超时。 a)普通http请求的session超时。 b)异步http请求的session超时,使用ext后大部分的界面刷新都是异步的ajax请求。 不管是那种类型的http请求总是可以由一个过滤器来捕捉。 分类:普通http请求的header参数中没有x-requested-with:XMLHttpRequest头信息,而异步的有。 其实对于常见的ajax框架,header中还有标示自己身份的header信息。 对于普通的http请求,发现session超时后直接重定向到一个超时页面,显示访问超时。 对于异步http请求,发现session超时后则向请求的response中写入特定的超时头信息,客户端ajax对象检测 头信息,发现有超时状态标志后调用显示超时信息的javascript方法,提示用户访问超时。 服务器端session超时后在过滤器中为response添加新的头信息,标记该请求超时: if(r.getHeader("x-requested-with")!=null && r.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){ response.setHeader("sessionstatus","timeout"); } 使用Ext.Ajaxt对象完成异步请求的交互,Ext.Ajax是单实例对象(非常重要,全局单一Ext.Ajax实例!)。 注册Ext.Ajax的requestcomplete事件,每个ajax请求成功后首先响应该事件。在该事件的回调函数里面判断 访问请求是否超时。使用Ext.Ajax对象的好处是,只需要引入一个包含了几行超时处理代码的js文件,就可以 为当前应用增加超时处理功能,原有代码不需要做任何修改。 使用Ext.Ajaxt对象完成异步请求交互,假如checkUserSessionStatus是你的回调方法,每个页面引用: Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this); function checkUserSessionStatus(conn,response,options){ //Ext重新封装了response对象 if(typeof response.getResponseHeader.sessionstatus != 'undefined'){ //发现请求超时,退出处理代码... } } 可以利用的几个特性:a)所有的ajax请求均带有x-requested-with:XMLHttpRequest头信息b)Ext.Ajax是单实例对象(非常重要,全局单一Ext.Ajax实例!)c)注册Ext.Ajax的requestcomplete事件,每个ajax请求成功后首先响应该事件(概念类似spring的aop拦截)。 jquery提供了几个全局事件可以用来处理session过期请求,如当ajax请求开始时会触发ajaxStart()方法的回调函数;当ajax请求结束时,会触发ajaxStop()方法的回调函数。这些方法都是全局的方法,因此无论创建它们的代码位于何处,只要有ajax请求发生时,都会触发它们。类似的事件还有:ajaxComplete(),ajaxError(),ajaxSend(),ajaxSuccess()等。 如果使某个ajax请求不受全局方法的影响,那么可以在使用$.ajax()方法时,将参数中的global设置为false,jquery代码如下:$.ajax({ url:"test.html", global:false//不触发全局ajax事件}) 对于其他的ajax框架,解决用户访问请求超时这个问题的思路是类似的。

后端需要一个json对象,对象里面有map类型属性,前端好像没有map类型数据,那么怎么弄呢?

后端需要一个json对象,对象里面有map类型属性,前端好像没有map类型数据,那么怎么弄呢?非要改后端吗,那么太不方便了,前端怎么解决这个问题哇

ajax回调函数的data取值问题,属性名含特殊符号

使用$.getJSON(url,function(data){ }); 按理说data里封装的参数直接"."key名就能取出来 比如data.id就能取出后台封装的id对应的值 data.age就能取出后台封装的age对应的值 但是如果一些带特殊字符的属性名该怎么取?比如 data.user-name 这里带了横杠是会出错的 试过EL表达式里面的取法data["user-name"]不行, data.user\-name也不行,求大神解答

springmvc框架 返回字符串到前台页面,为什么字符串带着双引号

后台代码 ``` User loginer=this.userService.getUserByLoginNameAndPassword(user); try { if(loginer != null){ System.out.println("A"); return "homepage"; }else{ System.out.println("B"); return "no_this_user"; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("C"); return "ERROR"; } ``` 前台ajax ``` success:function(data){ alert(data); if(data == "homepage"){ alert("跳转"); }else if(data == "no_this_user"){ alert("用户名或密码错误"); }else{ alert("其他错误"); } }, ``` 返回 alert ![后台返回的字符串,带着双引号](https://img-ask.csdn.net/upload/201703/31/1490962810_923494.png)

JSON对象在控制台中显示对象,但也包含php脚本返回的字符串中的'undefined'

<div class="post-text" itemprop="text"> <p>I have a php script that queries my database for some values and puts them into a json string.</p> <pre><code>&lt;?php if (isset($_POST['name']) === true &amp;&amp; empty($_POST['name']) === false) { include_once("../php_scripts/connect.php"); $arr = array(); if ($result = $mysqli-&gt;query("SELECT due_date FROM payment_due_dates WHERE client_id = '" . $_POST['name']. "'")) { $rowCount = $result-&gt;num_rows; echo '['; $i = 0; while ($row = $result-&gt;fetch_assoc()) { if ($i &lt;= $rowCount - 2){ echo json_encode($row); echo ','; }else{ echo json_encode($row); } $i++; } $result-&gt;free(); } echo ']'; } ?&gt; </code></pre> <p>Then jquery converts into a json object and adds the values to a select box.</p> <pre><code>$(document).ready(function(){ $('#subName').click(function(){ var name = $('input#txtName').val(); if($.trim(name) != ''){ $.post('ajax/load_patient_episodes.php', {name: name}, function(data){ console.log(data); var obj = $.parseJSON(data); console.log(obj); var output; $.each(obj, function(key, val){ output += '&lt;option&gt;' + val.due_date + '&lt;/option&gt;'; }); $('#selEpisode2').html("&lt;option&gt;" + output + "&lt;/option&gt;"); }); } }); }); </code></pre> <p>It loads the values but also gives this error in my console log:</p> <pre><code>event.returnValue is deprecated. Please use the standard event.preventDefault() instead. jquery.js:5 </code></pre> <p>and, when it adds the values to the selectbox it also adds the text 'undefined'. So the options in my select box appear as:</p> <p>undefined</p> <p>2013-11-13</p> <p>2013-11-13</p> <p>2013-11-13</p> <p>I'm assuming it may have something to do with the <em>proto</em> array that is in there but I'm not sure how it got there. Still somewhat a newbie on this stuff. Here is my console log. Any ideas how I can lose the 'undefined in my select options?' Also, is there a better way I should be going about loading select options from a php query?</p> <pre><code>event.returnValue is deprecated. Please use the standard event.preventDefault() instead. jquery.js:5 [Object, Object, Object] 0: Object 1: Object 2: Object length: 3 __proto__: Array[0] </code></pre> </div>

Ajax无刷新提交表单并搜索数据库

![![图片说明](https://img-ask.csdn.net/upload/201603/22/1458634248_267260.png)图片说明](https://img-ask.csdn.net/upload/201603/22/1458634237_360971.png) 大家看图也能明白我的意思。页面中包含两个框架,下面的框架就是主要的问题所在。两个下拉列表联动已经会做了,现在想要点击“确定”后提交表单并在下面显示出数据库查询结果,但同时下拉列表不能刷新,保持选择的项目状态。目前点击按钮后会出现第二图的情况,恶心死我了。 我参考Shelley Powershot的《JavaScript学习指南》,可是却没能达到我想要的效果。提交表单是大概只能用post方法了吧……求大神相助,可以提供思路,提供参考文献或者指正我的代码 sd_help.php如下: ``` <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="style.css" type="text/css" rel="stylesheet"> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> </head> <body class="font"> <div align="center"><font size="4px">选择您需要的帮助</font></div><br> <form name="search" action="search_db.php" method="post"> <div align="center"> <select name="domain" id="domain" onChange="redirec(document.search.domain.options.selectedIndex)"> <option selected value="0">请选择</option> <option value="1">体育</option> <option value="2">艺术</option> <option value="3">文史</option> </select>&nbsp;&nbsp;&nbsp;&nbsp; <select name="items" id="items"> <option value="0" selected>请选择</option> </select>&nbsp;&nbsp; <input type="submit" value="确定" id="submitButton"/> </form> </div> <script language="javascript"> //获取一级菜单长度 var groups = document.search.domain.options.length; var group = new Array(groups); //把一级菜单都设为数组 for (i=0; i<groups; i++) { group[i] = new Array();} //定义基本选项 group[0][0] = new Option("请选择", "0"); group[1][0] = new Option("足球", "1"); group[1][1] = new Option("篮球", "2"); group[1][2] = new Option("乒乓球", "3"); group[2][0] = new Option("歌唱", "4"); group[2][1] = new Option("舞蹈", "5"); group[2][2] = new Option("乐器", "6"); group[3][0] = new Option("小说", "7"); group[3][1] = new Option("散文", "8"); group[3][2] = new Option("诗词", "9"); //联动函数 function redirec(x) { var temp = document.search.items; for (i=0;i<group[x].length;i++) { temp.options[i]=new Option(group[x][i].text,group[x][i].value);} temp.options[0].selected=true; } //<![CDATA[ //全局变量 var xmlHttpObj; function catchEvent(eventObj,event,eventHandler){ if(eventObj.addEventListener){ eventObj.addEventListener(event,eventHandler,false); }else if(eventObj.attachEvent){ event="on"+event; eventObj.attachEvent(event,eventHandler); } } catchEvent(window,"load",function(){ //document.getElementById("helps").style.display="block"; document.getElementById("items").onchange=populateList; //document.getElementById("submitButton").style.display="none"; }); //创建XHR对象 function getXmlHttp(){ var xmlhttp=null; if(window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); if(xmlhttp.overrideMimeType){ xmlhttp.overrideMimeType('text/html'); } }else if(window.ActiveObject){ xmlhttp=new ActiveObject("Microsoft.XMLHTTP"); } return xmlhttp; } //准备并发送XHR请求 function populateList(){ var items=document.getElementById("items").value; var url='search_db.php'; var qry="items="+items; //如果xmlHttpObj为空 if(!xmlHttpObj) xmlHttpObj=getXmlHttp(); if(!xmlHttpObj) return; xmlhttp.open('POST',url,true); xmlhttp.onreadystatechange=getItems; xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlhttp.send(qry); } //处理返回的数据 function getItems(){ if(xmlHttpObj.readyState==4&&xmlHttpObj.status==200){ document.getElementById('helps').innerHTML=xmlHttpObj.responseText; }else if(xmlHttpObj.readyState==4&&xmlHttpObj.status!=200){ document.getElementById('helps').innerHTML='请求出错误!'; } } //]]> </script> <div align="center"> <table><tr><td id="helps"></td></tr></table> </div> </body> ``` search_db.php如下(暂为演示,所以没有执行数据库查询): ``` <?php if(empty($_QUEST['items'])){ echo "未传入items值!悲剧!"; } else echo ($_QUEST['items']); ?> ```

这个json数据用Gson怎么解析,我要每个类中的list

http://mobile.ximalaya.com/mobile/discovery/v3/recommends?channel=and-a1&device=android&includeActivity=true&includeSpecial=true&scale=2&version=4.3.98 数据太长,这个是接口。

get请求,参数其中有一个是json数据,如何解决?

介绍一下,这一步是拿到签名sign,接下来用sign去另外一个接口获取信息。 这种情况拿不到返回值,但是我把json数据编码后就能拿到了,为什么? 还有就是就算拿到了也没法用,下一步用得到的sign拿信息的时候,传编码后的json数据会返回参数错误,传不编码的json数据返回sign值不对。接口我也不知道他怎么写的,有没有大佬帮忙解决一下,只从前端的角度 var json ={"type":id} var obj = { app_id:"njsyjgljyy", interface_id:"xwlbjk", version:"1.0", charset:"utf-8", biz_content:json, timestamp:tmp, origin:'1' } $.ajax({ url:"http://www.jszwfw.gov.cn/jimp/sign/createsign.do", type:'get', data:obj, dataType: 'text', success:function(res){ var sign = res; console.log(json) } })

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

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与数据库连接的三种方式? 我的答案: 自己编的 ------------------------------------------------------- 我答错的、 错在哪里? 没答上的帮忙解答下? 感激了 !

怎么把action处理得到的信息传到前端界面,angularjs怎么去接收打印msg

前台控制器:<script> var app = angular.module('myApp', []); app.controller('LoginController', function ($scope, $http) { $scope.submitForm= function(name,pw){ $http( { method : 'GET', url : "http://localhost:8080/denglu/login.action", params :{username:'1',password:'1', /* data:JSON.stringify({data:data代表的是这个$http()对象中包含了将会被当作消息体发送给服务器的数据。通常在发送POST请求时使用。 'pageNum': pageNum, 'pageSize': pageSize, 'sort': sort, 'edition': edition */ }, // 传递数据作为字符串,从前台传到后台 } ).success(function (data) { alert(data); }).error(function() { alert("登录失败"); }); } }) </script> 后台action: @RequestMapping("/login") public ModelAndView login(String username,String password,HttpServletResponse response) { ModelAndView m = new ModelAndView(); User user = new User(); user.setUsername(username); user.setPassword(password); System.out.println(username+password+"********************************"); User a = ilogin.login(user); System.out.println(a+"********************************"); String msg=""; PrintWriter out = null; try { out = response.getWriter(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(a != null){ msg="登录成功"; out.print(msg); /*msg="登录成功"; m.addObject("msg", msg); m.setViewName("index.jsp");*/ } else{ msg="失败"; out.print(msg); } return m; 现在的情况就是action可以接收到前台传的参数,也能查到数据库中有值,但是前端界面一直走error,请大神指点,或者哪位大神给发下ajax的传接收数据的例子

Ext的Panel中用load()动态加载一页面,如何访问这个页面的元素

示例代码: var panel = new Ext.Panel({ id:id, title: title, iconCls: 'tabs', collapsible:true, closable:true }); panel.load({ url: url, discardUrl: false, nocache: false, timeout: 30, scripts: true }); 这个被访问的url中,返回结果包含一FormaPanel: var formPanel = new Ext.FormPanel({ id:'form_id_123', title: 'title', iconCls: 'tabs', collapsible:true, closable:true, html:'test abc' }); 现在的问题是,如从从panel中找到这个新加载出来的panel? 试过 Ext.get('form_id_123') panel.findByType('form') panel.findById('form_id_123') 都找不到。。。要用哪一个函数去找呢? (注: 界面显示是正常的,我用panel.getEl().dom.innerHTML的确可以看到相关的html内容) [b]问题补充:[/b] 我的问题不在如何显示与加载上面, 而是在, 如何找到这个新加载的页面中的元素。 这个‘form_id_123’是新出现的一个FormPanel, 在加载这个页面前我是不知道这个对象的引用的, 在加载了这个页面后, 我怎么才能找到这个FormPanel呢。 当前已知的变量只有:"var panel"这个初始panel。

bootstrap table怎么想java传参数

这是js ``` function load1() { var state=parent.$("input[name='state']:checked").val(); alert(state) $('#exampleTable') .bootstrapTable( { method : 'get', // 服务器数据的请求方式 get or post url : prefix + "/list", // 服务器数据的加载地址 queryParams:function(params){//向后台传值 return{ offset:params.offset, limit:params.limit, state:parent.$("input[name='state']:checked").val() } }, // showRefresh : true, // showToggle : true, // showColumns : true, iconSize : 'outline', toolbar : '#exampleToolbar', striped : true, // 设置为true会有隔行变色效果 dataType : "json", // 服务器返回的数据类型 pagination : true, // 设置为true会在底部显示分页条 // queryParamsType : "limit", // //设置为limit则会发送符合RESTFull格式的参数 singleSelect : false, // 设置为true将禁止多选 // contentType : "application/x-www-form-urlencoded", // //发送到服务器的数据编码类型 pageSize : 10, // 如果设置了分页,每页数据条数 pageNumber : 1, // 如果设置了分布,首页页码 //search : true, // 是否显示搜索框 showColumns : false, // 是否显示内容下拉框(选择显示的列) sidePagination : "server", // 设置在哪里进行分页,可选值为"client" 或者 "server" queryParams : function(params) { return { //说明:传入后台的参数包括offset开始索引,limit步长,sort排序列,order:desc或者,以及所有列的键值对 limit: params.limit, offset:params.offset, name:$('#searchName').val() // username:$('#searchName').val() }; }, // //请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果 // queryParamsType = 'limit' ,返回参数必须包含 // limit, offset, search, sort, order 否则, 需要包含: // pageSize, pageNumber, searchText, sortName, // sortOrder. // 返回false将会终止请求 } ``` 这是java ``` @ResponseBody @RequestMapping("/list") public PageUtils list(@RequestParam Map<String, Object> params,String state){ System.out.println(state); //查询列表数据 Query query = new Query(params); List<WagesDO> wagesList = wagesService.list(query); int total = wagesService.count(query); PageUtils pageUtils = new PageUtils(wagesList, total); return pageUtils; } ``` 这样写在java接受到的是state为null,这是为什么y

“阿飞哥”快来帮我看看这个hibernate得错误

<p>情况说明:</p> <p>      前台异步传入参数“speakId”,action获取speakId后(业务逻辑暂且在action中处理),到comment表中查找外键为speakId的comment们,保存在commList中,commList作为json类型返回前台(?)。</p> <p> </p> <p>ajax代码:</p> <pre name="code" class="html">... $.ajax({ type : "POST", url : "showComment.action", data : { speakId : speakId }, success : callbackShowComm, dataType : "json", error : function (data, status, e){ alert(e); history.go(0);} }); <pre name="code" class="html">//callbackShowComm function callbackShowComm(backData,status){  if(status == "success"){    if(backData != null){      //test      alert(backData);//此处没有返回值    }//end backData  }else{    alert(status);  } } </pre> <br><br>...</pre> <p> </p> <p>action代码:</p> <pre name="code" class="java">package com.shaiyaya.action; import java.util.*; import java.text.SimpleDateFormat; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.Query; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.shaiyaya.constant.ConstantVariable; import com.shaiyaya.dao.User; import com.shaiyaya.dao.Speak; import com.shaiyaya.dao.Comment; import com.shaiyaya.orm.HibernateSessionFactory; import com.shaiyaya.service.CommentService; public class CommentAction extends ActionSupport implements ServletRequestAware { private HttpServletRequest request; public void setServletRequest(HttpServletRequest request) { this.request = request; } private List&lt;Comment&gt; commList = new ArrayList&lt;Comment&gt;();//包含查看相应speakID对应的评论的Comment信息 public void setCommList(ArrayList&lt;Comment&gt; commList){ this.commList = commList; } public List&lt;Comment&gt; getCommList(){ return this.commList; } /** * 异步获取speakID对应的comment信息 * @return */ public String showComment(){ int speakId = Integer.valueOf( request.getParameter("speakId") ); if(speakId &lt;1){ return "errorSpeakId"; } Session session = HibernateSessionFactory.getSession(); Transaction tran = session.beginTransaction(); String sql = "from Comment as c where c.speak =" +speakId+ "order by commentId desc" ; Query query = session.createQuery(sql); commList = query.list();//说明:要是List commList = commentservice.findCommentBySpeakId(speakId);则没有报错了 // commList = commentservice.findCommentBySpeakId(speakId); tran.commit(); session.close(); request.setAttribute("commList", commList); System.out.println("commListSize:"+commList.size()); return "success"; } }//end class </pre> <p> </p> <p> </p> <p>struts-xml配置文件:</p> <pre name="code" class="xml"><span style="background-color: #ffffff;">... </span>&lt;package name="ajax-comment" extends="json-default"&gt; &lt;!-- 查看speak对应的评论异步请求 --&gt; &lt;action name="showComment" class="com.shaiyaya.action.CommentAction" method="showComment"&gt; &lt;result name="success" type="json"&gt; &lt;param name="root"&gt;commList&lt;/param&gt; &lt;/result&gt; &lt;result name="errorSpeakId" type="json"&gt; &lt;param name="root"&gt;commList&lt;/param&gt; &lt;/result&gt; &lt;/action&gt; &lt;/package&gt; ...</pre> <p> </p> <p>运行结果及报错:</p> <pre name="code" class="java">Hibernate: select comment0_.comment_id as comment1_23_, comment0_.speak_id as speak2_23_, comment0_.user_id as user3_23_, comment0_.content as content23_, comment0_.create_time as create5_23_ from shaiyaya.comment comment0_ where comment0_.speak_id=112 order by comment0_.comment_id desc Hibernate: select speak0_.speak_id as speak1_5_0_, speak0_.user_id as user2_5_0_, speak0_.content as content5_0_, speak0_.create_time as create4_5_0_, speak0_.last_comm_time as last5_5_0_, speak0_.cate_flag as cate6_5_0_, speak0_.attachment_flag as attachment7_5_0_, speak0_.comment_sum as comment8_5_0_, speak0_.love_sum as love9_5_0_, speak0_.forward_sum as forward10_5_0_ from shaiyaya.speak speak0_ where speak0_.speak_id=? Hibernate: select user0_.user_id as user1_15_0_, user0_.user_nick as user2_15_0_, user0_.real_name as real3_15_0_, user0_.password as password15_0_, user0_.user_ip as user5_15_0_, user0_.address as address15_0_, user0_.user_sex as user7_15_0_, user0_.create_time as create8_15_0_, user0_.update_time as update9_15_0_, user0_.user_email as user10_15_0_, user0_.user_intro as user11_15_0_, user0_.user_status as user12_15_0_, user0_.login_sum as login13_15_0_, user0_.last_login_time as last14_15_0_, user0_.role as role15_0_, user0_.memo as memo15_0_ from shaiyaya.user user0_ where user0_.user_id=? commListSize:2 [ERROR] 10-19-19:12:23 org.hibernate.LazyInitializationException.&lt;init&gt;(LazyInitializationException.java:19) [thread:http-80-2] [messgage:failed to lazily initialize a collection of role: com.shaiyaya.dao.Speak.comments, no session or session was closed] org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.shaiyaya.dao.Speak.comments, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentSet.equals(PersistentSet.java:350) at java.util.Vector.indexOf(Vector.java:361) at java.util.Vector.contains(Vector.java:320) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:110) at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:324) at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:225) at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:161) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:127) at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:324) at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:225) at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:161) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:127) at com.googlecode.jsonplugin.JSONWriter.array(JSONWriter.java:416) at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:151) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:127) at com.googlecode.jsonplugin.JSONWriter.write(JSONWriter.java:95) at com.googlecode.jsonplugin.JSONUtil.serialize(JSONUtil.java:98) at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:179) at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619)</pre> <p> </p> <p>前面action里面的commList = query.list改为List commList = commentservice.findCommentBySpeakId(speakId);则没有报错,不过这样就没有往前台传值了,ajax的success函数中的backData是没有值的。</p> <p>comment表有两个外键speakId和userId 在comment.hbm.xml已经设置了lazy=“false”,代码如下:</p> <pre name="code" class="xml">&lt;hibernate-mapping&gt; &lt;class name="com.shaiyaya.dao.Comment" table="comment" catalog="shaiyaya"&gt; &lt;id name="commentId" type="java.lang.Integer"&gt; &lt;column name="comment_id" /&gt; &lt;generator class="native" /&gt; &lt;/id&gt; &lt;many-to-one name="speak" class="com.shaiyaya.dao.Speak" fetch="select" lazy="false"&gt; &lt;column name="speak_id" /&gt; &lt;/many-to-one&gt; &lt;many-to-one name="user" class="com.shaiyaya.dao.User" fetch="select" lazy="false"&gt; &lt;column name="user_id" /&gt; &lt;/many-to-one&gt; &lt;property name="content" type="java.lang.String"&gt; &lt;column name="content" /&gt; &lt;/property&gt; &lt;property name="createTime" type="java.util.Date"&gt; &lt;column name="create_time" length="19" /&gt; &lt;/property&gt; &lt;/class&gt; &lt;/hibernate-mapping&gt;</pre> <p> </p> <p> </p> <p>这是什么原因呢?或者我要怎样才能把commList即comment对象的List传给前台呢?</p>

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

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

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

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

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

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

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

百度工程师,获利10万,判刑3年!

所有一夜暴富的方法都写在刑法中,但总有人心存侥幸。这些年互联网犯罪高发,一些工程师高技术犯罪更是引发关注。这两天,一个百度运维工程师的案例传遍朋友圈。1...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

内容导航: 1、TIOBE排行榜 2、总榜(2020年6月份) 3、本月前三名 3.1、C 3.2、Java 3.3、Python 4、学习路线图 5、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据。

阿里面试官让我用Zk(Zookeeper)实现分布式锁

他可能没想到,我当场手写出来了

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

立即提问
相关内容推荐