- 浏览: 75700 次
- 性别:
- 来自: 济南
最新评论
-
疯狂的草儿:
刚开始读这篇文章 我以为lz 招了个美女呢 呵呵
踏实与成功 -
binoruv:
bucuo
学习jQuery笔记(三)包装集 -
jy00314996:
若是人间 写道刚开始学接触PV3D,跟你学习学习,呵呵,交个朋 ...
Papervision3D(PV3D)笔记&教程(1)-四个基础元素 -
若是人间:
刚开始学接触PV3D,跟你学习学习,呵呵,交个朋友哈
Papervision3D(PV3D)笔记&教程(1)-四个基础元素 -
jy00314996:
martri 写道呵呵,不错,谢谢!
谢谢~~~一起进步!
Freemarker网站静态化的实现
json格式的数据传递已经红遍全球,JQuery的AJAX功能自然也可以对其进行进行传递。但是一般的传递都是使用GET方式进行的传递,如果内容不多,数据量不大那还是不错的。但是如果数据量比较大,使用get传递就不太适合,我们自然而然的想到了POST传递。
网上很多的说法都是使用流来读取请求流中的POST过来的数据。对于使用SSH越来越多的今天,写个doPost方法来接收数据其实并不合适,而我们更多的使用的是Action来进行数据的接收,那Struts中的action如何收到post过来的数据呢?使用网上的流的说法,告诉你,你是接收不到的,具体如何做,往下看。
先说下工具:JQuery1.2.6+json2.js+Struts1.3+org.son包+jdk1.5
然后我们来看下页面的内容:
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html>
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <mce:script type="text/javascript" src="javascript/jquery-1.2.6.min.js" mce_src="javascript/jquery-1.2.6.min.js"></mce:script>
7 <mce:script type="text/javascript" src="javascript/json2.js" mce_src="javascript/json2.js"></mce:script>
8 <mce:script type="text/javascript" src="javascript/tt.js" mce_src="javascript/tt.js"></mce:script>
9 <title></title>
10 </head>
11 <body>
12 <form>
13 <div>
14 <input type="text" id="roleId" value="112233" name="roleId" />
15 <label><input type="checkbox" value="0" checked="checked" name="type" /></label>
16 <label><input type="checkbox" value="1" checked="checked" name="type" /></label>
17 <select id="beginYear" name="beginYear"><option value="2008">2008</option></select>
18 <select id="beginWeek" name="beginWeek"><option value="51">51</option></select>
19 <select id="endYear" name="endYear"><option value="2009">2009</option></select>
20 <select id="endWeek" name="endWeek"><option value="2">2</option></select>
21 <input type="text" id="productList" value="123,124,125,126" name="productList" />
22 <select id="dealerType" multiple="multiple" name="dealerType">
23 <option value="">all</option><option value="1">mobo</option><option value="2">sales</option>
24 </select>
25 <a href="#" mce_href="#" id="go">text</a>
26 </div>
27 </form>
28 </body>
29</html>
页面元素不算太少,要提取里面的内容,并将他们传递到action中。下面是tt.js的内容
2 $("#go").click(function(){
3 var jsonTest = {
4 roleId:$("#roleId").val(),
5 type:$("label input:checked").map(function(){
6 return $(this).val();
7 }).get(),
8 beginYear:$("#beginYear").val(),
9 beginWeek:$("#beginWeek").val(),
10 endYear:$("#endYear").val(),
11 endWeek:$("#endWeek").val(),
12 productList:$("#productList").val().split(','),
13 dealerType:$("#dealerType").val().join(',')
14 };
15 alert(JSON.stringify(jsonTest));
16 $.ajax({
17 type: "POST",
18 url: "json.do?method=list",
19 data:{newData:JSON.stringify(jsonTest)},
20 dataType:"json",
21 success:function(){
22 alert(1);
23 }
24 });
25 });
26});
执行后,会出现个alert框,里面显示了将对象转换成json后的字符串,如图:
从图上可以看出,我们需要的内容都已经成为了json格式的。下面就会执行JQuery的ajax方法了,Data属性的内容嘛,当然就是转换过的jsonTest了,但是,最重要的东西也出现了:我将转换后的jsonTest又进行了包装,并且是包装在了一个key为newData的json字符串里面了。
各位朋友们,你们在action中取不到流,并不是json字符串没有传递过来,而是,你找错地方了。如果不相信,你可以写上你自己的action,然后在action中写上以下代码:
2while(e.hasMoreElements()){
3 System.out.println(e.nextElement());
4}
怎么样,是不是发现传过来的json安安静静的出现在了控制台上?对的,它是以数据的name传过来的,这也就是为何需要再对其进行一次包装的原因了。下面的东西嘛,就好办了。在action中使用request.getParament即可取到心仪已久的json格式字符串了。
怎么?你认为是get方式传过来的?怕浏览器长度限制?那你自己去试试看吧,我试过20几W的长度下,FF和IE都没有问题,难道你的数据还能再长?没事,多长都可以的
发表评论
-
学习jQuery笔记(十)jQuery表单验证与自动完成提示插件
2009-07-01 09:20 3581一.摘要 本文是介绍两个最常用的jQuery插件. 分别用于 ... -
学习jQuery笔记(九)jQueryUI常用功能实战
2009-06-26 15:11 1537一.摘要 本文是实战篇. 使用jQueryUI完成制作网站的 ... -
学习jQuery笔记(八)jQuery工具函数
2009-06-26 10:10 981一.摘要 我们经常要使用脚本处理各种业务逻辑, 最常见的就是 ... -
学习jQuery笔记(七)jQuery动画-让页面动起来!
2009-06-25 14:46 1733一.摘要 本系列文章将 ... -
学习jQuery笔记(六)jQuery中的Ajax
2009-06-25 14:36 1531一.摘要 本篇文章讲解如何使用jQuery方便快捷的实现Aj ... -
学习jQuery笔记(五)事件与事件对象
2009-06-24 15:01 1153一.摘要 事件是脚本编程的灵魂. 所以本章内容也是jQuer ... -
学习jQuery笔记(四)操作元素的属性与样式
2009-06-24 14:28 1550一.摘要 本篇文章讲解 ... -
学习jQuery笔记(三)包装集
2009-06-23 17:34 1073一.摘要 在使用jQuery选择器获取到jQuery包装集后 ... -
学习jQuery笔记(二)选择器
2009-06-23 15:22 1161一.摘要 本章讲解jQuery最重要的选择器部分的知识. 有 ... -
学习jQuery笔记(一)入门篇
2009-06-23 14:44 1242首先什么是jQuery? ... -
学习jQuery笔记 前篇 开发环境配置
2009-06-23 14:34 951一.摘要 本系列文章将带您进入jQuery的精彩世界 ... -
jQuery日常使用技巧总结
2009-06-19 14:40 8081、关于页面元素的引用 ... -
jQuery使用JSON的例子
2009-06-12 15:53 11481、在HTML中,有这样一个表单: <form met ... -
用JQuery解析Json
2009-06-12 15:36 1963JSON的数据格式现在挺热门的!这里不解释了。主要讲下Jque ... -
jQuery的动态效果效果演示
2009-06-12 15:24 1222Jquery做动态效果,可以使用animate函数, ... -
jquery 插件corner实现圆角边框
2009-06-12 15:11 1381<!DOCTYPE html PUBLIC &qu ... -
各种效果的jquery ui(接口)介绍
2009-06-11 10:21 1560基本的鼠标互动: 拖拽(drag and dropping) ... -
在jQuery中利用AJAX加载XML数据并解析
2009-06-11 10:03 8221,Content-Type很多时候无法解析就是Con ... -
jQuery & CSS制作折页效果
2009-06-09 13:21 2011不多说先看效果图 demo地址:http://www.s ... -
网页设计趋势:Out Of The Box
2009-06-04 16:39 752这是一个创造性的流行趋势。 这很简单了,但增加了一个额外的要素 ...
相关推荐
在这个项目中,`struts2.1.8+json+jquery1.3实现ajax`,开发者可能做以下步骤: 1. 配置Struts2:首先,需要在Struts2的配置文件(struts.xml)中配置Action,指定返回JSON类型的结果。这通常通过在Action类的方法上...
Struts 1.3 +JQuery+Json Post传值 由于网上关于这个的资料很少,现整理出来,方便大家学习. 关于Json的优势,网上的评价都很高,对于处理复杂的数据相对于处理xml来说要好很多,更多关于这方面的知识读者可以到网上...
这样,我们就实现了使用jQuery AJAX与Struts 1.3进行交互,动态更新页面内容,而无需刷新整个页面。 总的来说,jQuery AJAX和Struts 1.3的结合使用可以提升Web应用的用户体验,使得数据的加载和交互更加流畅。在...
**jQuery + Struts2 + JSON 处理** 在Web开发中,jQuery是一个强大的JavaScript库,提供了丰富的DOM操作、事件处理和动画效果。Struts2是一个流行的Java Web框架,用于构建可维护性和可测试性的MVC应用程序。JSON...
### Struts2 + jQuery + JSON 实现Ajax 在现代Web开发中,Ajax技术因其能够实现网页的局部刷新而被广泛采用。本篇文章介绍如何利用Struts2框架结合jQuery与JSON来构建一个简单的Ajax功能。 #### 一、环境搭建 1. ...
"jQuery+json异步实现JSP和struts2之间的数据传递"是一个典型的应用场景,它结合了前端JavaScript库jQuery与后端MVC框架Struts2,通过JSON这种轻量级的数据交换格式进行高效的数据交互。下面我们将详细探讨这一主题...
综上所述,"整合jquery+json+struts2异步提交实例"是一个实用的Web开发教程,它演示了如何利用jQuery的Ajax功能和Struts2框架处理JSON数据,实现前后端之间的高效异步通信。这个实例可以帮助开发者更好地理解和掌握...
本实例将详细讲解如何利用jQuery库与Struts2框架结合,实现异步刷新功能。jQuery以其简洁易用的API深受开发者喜爱,而Struts2作为Java Web开发中的MVC框架,提供了丰富的动作和结果类型,便于构建动态网站。 首先,...
- **Struts2的JSON插件**:虽然题目要求不使用JSON,但通常情况下,Struts2通过JSON插件返回数据给jQuery是最方便的方式。不过,我们可以通过设置Content-Type为"text/plain"或"text/html",让Struts2返回非JSON...
在jQuery中,使用$.ajax()函数或其简化的$.get()和$.post()方法可以轻松实现Ajax请求。这提升了用户体验,因为用户无需等待整个页面刷新就能看到结果。 **JSON(JavaScript Object Notation)**:JSON是一种轻量级...
总结来说,这个例子展示了如何利用Struts2处理后端业务逻辑,使用JSON作为数据交换格式,以及通过jQuery在前端实现动态更新和与服务器的异步通信。了解和掌握这三个工具的整合使用,对于提升Web开发效率和用户体验...
在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...
在IT行业中,jQuery、AJAX、JSON以及Struts2是四个非常重要的技术,它们在Web开发领域中扮演着核心角色。下面将详细解释这些技术及其相互间的集成。 **jQuery** 是一个快速、简洁的JavaScript库,它简化了HTML文档...
例如,使用jQuery发送Ajax请求到Struts2 Action,Action处理完业务后返回JSON数据,jQuery再将这些数据动态更新到页面上,实现无刷新的数据交互。这样的开发方式大大提高了开发效率和应用程序的性能。
总结起来,"struts2+jquery+json+ajax"的例子展示了如何利用这些技术协同工作,实现一个无刷新的登录界面,提供流畅的用户体验。通过Struts2处理业务逻辑和数据验证,jQuery和Ajax负责前后端的通信,JSON作为数据...
2. **Struts2的插件支持**:Struts2社区提供了jQuery插件,使得使用jQuery更加方便。例如,`struts2-jquery-plugin`提供了许多预定义的jQuery UI组件,如日期选择器、下拉菜单等,只需简单的标签即可实现。 3. **...
- **前端请求**:jQuery的$.ajax()方法被调用,指定URL为Struts2的Action,设置type为'POST'或'GET',dataType为'json',数据以JSON格式通过data参数传递。 - **Struts2处理**:Struts2框架接收到请求后,根据配置...
总结,Struts2和jQuery的Ajax JSON数据交换涉及以下几个关键步骤:配置Struts2的JSON插件,编写返回JSON数据的Action,使用jQuery发起Ajax请求并处理返回的JSON数据。通过这种方式,可以实现客户端与服务器之间的...
总结来说,这个"ProductSystem"项目通过整合Struts2、jQuery、JSON和Ajax技术,实现了高效的前后端数据交互,提供了动态的用户界面,是学习和实践这些技术的好例子。通过深入理解并实践这个项目,开发者可以更好地...