今天写的代码主要是表示层,controlller、js、jQuery、json、jstl、Ajax。各种技术都摸了一把,遇到很多问题,也学到很多。人逼自己一把,就不知道自己可以有多牛逼。
遇到的问题:
1.Java对象转成json。我现在对它的理解是可以看做特殊格式的字符串。如果格式要求不严的话,不用json格式,我想自己用某种方式拼接解析,比方以分号分隔,然后用字符串的split(";")方法解析,但是这样的话就不能解析那种二维的对象,就是对象里面有多个List对象,所以以花括号的形式拼接的话就可以解决这个问题,可以看出包含关系,还有这个名值对和Map很像,Map这种形式随处可见,很灵活,用List不顺的时候,可以想想Map,LinkedHashMap等等。json有第三方库支持,官网上写了要几个jar包,如果缺jar包会报一个异常。如果是springmvc,用@ResponseBody。
2.returnModelAndView("xxx"),跳转界面到xxx。。。会把对象传到XXX界面。然后用jstl或者EL表达式显示。
3.如果打开该页面就想加载某个方法,可以在<body onload="fun()"> , 或者在$(document).ready(function(){ xxx}的方法体里面写。
4.Ajax异步请求。可以多种方式请求,这种基础性的只是可以去官网或者去w3c看更加快准狠,可以直接请求$.post("autocomplete.do");还有
$.post("autoComletePackages.do",function(data,status){ alert("提示:" + data + "\n状态:" + status); autoNames(data); } );
还有其他情况,w3c写的很多,我只随便写一两个给自己看。
5.MyBatis的resultMap,column是sql表的字段,property是JavaBean的属性。我写反了,但是得到了实体对象,但是有的属性为null,可是也不给报错!!!一开始没有找到原因的时候,我就不用resultMap,而是直接用resultType=”com.chen.JavaBean“,把select的字段 as 属性名称即可。
6.jsp遍历Map。
今天遇到最坑的应该就是这个问题了。主要原因是我没有引入jstl语法!!!下面那两行:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>然后我一直是以为我遍历Map不成功!!!
我的Map里面put了多个同类对象P。该对象P组合了一个Group对象和List<Package>。JSP代码:
<c:forEach items="${groups}" var="map"> <tr> <td><c:out value="${map.value.group.packageGroupName}"/></td> <c:forEach items="${map.value.packages}" var="pkg"> <tr> <td><c:out value="${pkg.packageName}"/></td> </tr> </c:forEach> </tr> </c:forEach>
元宵节快乐,办公室剩下我一个人了。
原文链接:https://www.f2er.com/ajax/163696.html