在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
经过一段时间的实验琢磨,终于将前后台之间的参数传递搞定了,实验所用工具myeclipse+structs1.2。 总结:容易出错的地方:1.ajax中data的格式一定要写对,这里举了两种形式,一种是 data:{参数:“”} 另一种是 data:“参数=”+变量。 2.后台传递到前台数据转化为json格式,步骤要掌握好。 3.在js使用jquery必须要引用进来,否则会不执行jquery语句,这个问题困扰了我半天才解决掉,菜鸟的悲哀啊。jquery引用流程如下:网上下载jQuery.js,jquery-1.4.2.min.js两个js文件,放在webroot下的文件夹js中,引用代码如下: <script src="<%=path%>/js/jQuery.js" language="javascript"type="text/javascript"></script> <script src="<%=path%>/js/jquery-1.4.2.min.js" language="javascript"type="text/javascript"></script> 其中<%=path%>就代表了根目录wenroot文件目录。 4.ajax的url路径必须要写对。 5.当前台没有传递参数到后台时,data可以不用写,或用data:{}代替。 前台代码如下: 复制代码 代码如下: <span style="white-space:pre"> </span>var checkValue=$("#s1").val(); 复制代码 代码如下: <span style="white-space:pre"> </span>//这个var是获取的id问s1的select选择的opention值 $ .ajax({ type : "post", url : "getShowDataList.do", async : true, //data:{data:""},这种也可以 data : "filepath="+checkValue 复制代码 代码如下: <span style="white-space:pre"> </span>//data:中的是传递到后台的数据,这里数据格式为json格式 , dataType : "json", error : function() { //alert(checkValue); alert('加载失败!'); }, success : function(json) { 复制代码 代码如下: <span style="white-space:pre"> </span>//这里的json是后台传递过来的数据,这里数据格式也是json格式 前台获取后台的json格式list数据集,这段写在function中 复制代码 代码如下: var points = [];//创建数组 for ( var i = 0; i < json.length; i++) { var str = new OpenLayers.LonLat(json[i].lon, json[i].lat); points.push(str); } 后台代码: 复制代码 代码如下: public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String filepath = request.getParameter("filepath"); 复制代码 代码如下: <span style="white-space:pre"> </span>//获取前台传递过来的filepath System.out.println(filepath); List<Show> datalist = getShowData(filepath); response.setContentType("appliction/json;charset=utf-8"); JSONArray jsonArray = JSONArray.fromObject(datalist); 复制代码 代码如下: try { PrintWriter out = response.getWriter(); out.print(jsonArray); for (int i = 0; i < jsonArray.size(); i++) { System.out.println(jsonArray.get(i)); } out.flush(); } catch (Exception e) { e.printStackTrace(); } return null; } |
请发表评论