jQuery与Struts2综合应用[stream/json]
一、使用stream类型的Result实现Ajax
具体步骤:
① 定义InputStream类型的成员变量及getter和setter
②具体业务方法中将要发送到客户端的json字符串赋值给成员变量
③编写struts.xml,定义stream生成响应数据类型及输出结果
二、配置Action的result
具体步骤:
①定义package,并继承struts-default
②使用<action>标签定义StreamResultAction类对应的名称和所在位置
③使用stream类型的result结果集
④使用<param>标签指定stream生成响应数据类型及输出结果

三 编写Action类 并继承自ActionSupport类
注:定义的inputStream成员变量要和struts.xml<param>参数一致,并使用ByteArrayInputStream将要发送到客户端的数据赋值给成员变量

四 实现用户名验证
使用jQuery的Ajax方法发送数据到服务器端,获取stream类型的返回数据,并更新页面提示信息,进行拆解数据。需引入jQuery库
<body>
<div id="demo"></div>
<table>
<tr>
<td>姓名:<input type="text" name="name" id="name" onblur="validate();"/></td>
</tr> <tr>
<td>密码:<input type="password" name="name" id="name"/></td>
</tr> <tr>
<td><center><input type="button" value="提交"/></center></td>
</tr>
</table> </body>

实现效果:


使用JSON插件实现JSON类型的Result
具体步骤:
①将struts2-json-plugin-xxx.jar加入到struts2工程下
②在struts.xml中编写<package>标签,并指定该package继承json-default
③在<package>标签下定义具体的<action>标签,将其子标签<result>的type属性指定为“json”
以用户登录为例:当服务器端接收到用户信息后,进行业务判断,然后返回JSON格式的数据

JSON类型的Result的常用参数:

编写Action类重写execute()进行一系列判定,通过tojson()获取到map集合的值,注意的是这里需引入gson.jar包


两种实现方式:
<script type="text/javascript">
function validate(){
//锁定到用户名文本框,并且取值
var val=$('#name').val(); $.post('json/jsontest','name='+val,function(data){
//data就是打回到client的数据
//强制让data从{}语句块形态 ----->表达式
data=eval("("+data.result+")");
//{\"flag\":\"false\"}
if(data.flag=="false"){
$("#demo").html("可用");
}else{
$("#demo").html("不可用");
} }); /* $.post('json/jsontest','name='+val,function(data){
//{"result":"{\"flag\":\"false\"}"}
data= data.result;
data=eval("("+data+")");
if(data.flag=="false"){ $("#demo").html("可用");
}else{
$("#demo").html("不可用");
}
},'json'); */
} </script>
实现效果:


jQuery与Struts2综合应用[stream/json]的更多相关文章
- jQuery操作列表数据转成Json再输出为html dom树
jQuery 把列表数据转成Json再输出为如下 dom树 <div id="menu" class="lv1"> <ul class=&qu ...
- jQuery获取一般处理程序(ashx)的JSON数据
昨天有在开发的软件生产线生产流程,RFID扫描IC卡的数据,当中有用到jQuery获取一般处理程序(ashx)的JSON数据.今有把它写成一个小例子,望需要的网友能参考. 在网站中,创建一个一般应用程 ...
- 【转】Jquery ajax方法解析返回的json数据
转自http://blog.csdn.net/haiqiao_2010/article/details/12653555 最近在用jQuery的ajax方法传递接收json数据时发现一个问题,那就是返 ...
- JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案
JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案 最近在开发WSS RESTful服务的时候, 碰到了这些个纠 ...
- [原创]K8 Struts2 Exp 20170310 S2-045(Struts2综合漏洞利用工具)
工具: K8 Struts2 Exploit组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2014/7/31 10:24 ...
- jquery里把数组转换成json的方法
首先来看,jquery里自带的,和json相关的函数: 1.$.parseJSON : 用来解析JSON字符串,返回一个对象. 什么叫“JSON字符串”? 比如: var a={name:&quo ...
- jquery序列化from表单使用ajax提交返回json数据(使用struts2注解result type = json)
1.action类引入struts2的"json-default"拦截器栈 @ParentPackage("json-default") //示例 @Paren ...
- struts2下实现的json传递list,object。
必须的jar: java bean: package upload.progress.action; public class music { private String name; private ...
- jquery+ajax+struts2
AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新.编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同.这意味着您必须编写额外的代码对 ...
随机推荐
- Visual Studio 2015在.NET Core RC2项目中的一个错误。
更新了.NET Core RC2 之后,VS的Web Tools更新为“Preview 1”了. 这个版本有一个问题,害我折腾了一个下午. 就是在项目界面的“依赖项 - NPM”上面错误地显示了不必要 ...
- spring-stutrs求解答
这里贴上applicationContext里的代码: <?xml version="1.0" encoding="UTF-8"?> <bea ...
- javaweb优化
http://blog.csdn.net/jiangzhaobao/article/details/8003244
- PHP规范PSR2
为了尽可能的提升阅读其他人代码时的效率,下面例举了一系列的通用规则,特别是有关于PHP代码风格的.各个成员项目间的共性组成了这组代码规范.当开发者们在多个项目中合作时,本指南将会成为所有这些项目中共用 ...
- Asp.net mvc5开源项目"超级冷笑话"
业务时间做了个小网站,超级冷笑话,地址:http://www.superjokes.cn/ 开发技术: asp.net mvc5 +SQLServer2012 ORM:NPoco 用了简单的三层结构 ...
- 学习Javascript闭包(Closure)
闭包作用 1.让变量驻留在内存中 2.函数外部可以读取函数内部的私有变量 <!DOCTYPE html> <html lang="en"> <head ...
- jquery插件图片延时加载实例详解
效果预览:http://keleyi.com/keleyi/phtml/image/index.htm 使用方法:1.导入JS插件 <script src="http://keleyi ...
- PHP
* PHP语言1.基本内容 * PHP语言 - 类似于javascript语言的 * javascript是客户端(HTML)的脚本语言 * PHP是服务器端的脚本语言 * PHP文件的扩展名为&qu ...
- SQL多表查询
设置主键:点击右键设为主键,在默认值那设置newid(),即可自动生成 Join inner join(内连接):select * from 表1 inner join 表2 on 表1.列 = 表2 ...
- 又到周末了,我们一起来研究【浏览器如何检测是否安装app】吧
前言 扯淡 这个月比较倒霉,我送了女朋友一台笔记本电脑作为生日礼物,结果15天一过电脑就坏了,悲剧的我还把电脑盒子给扔了!淘宝不给换更不给退 于是被女朋友臭骂了一过星期后,今天本来在公司有任务的,但是 ...