`
z_xiaofei168
  • 浏览: 198380 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在struts2的Action中返回Ajax数据

阅读更多

 

 

 

author:z_xiaofei168

       如何在struts2的action中返回数据(普通字符串、图片)给ajax核心中的XMLHttpRequest对象。
       今天下午做项目,就是用户注册是时候,登录名是否唯一,我用的ajax验证,但怎么也不返回我想要的数据,纠结了老半天,后来百度了一下,response对象为空,写上这行代码就OK了,HttpServletResponse response = ServletActionContext.getResponse();当你输入完登录名之后把光标移到下面的时候。ajax就会通过异步交互实现页面的局部刷新。从数据库中能查到数据就返回一个苦的表情,如没有则返回一个笑的表情。
     下面和大家分享一下。

     先看效果,下图所示:

 

public String checkLogin() throws Exception {
		
		/** 获取response对象 */
		HttpServletResponse response = ServletActionContext.getResponse();
		/** 获取输出out对象 */
		PrintWriter out = response.getWriter();
		Customers cus = customersServiceImpl.checkLogin(entity);
		
		if (cus.getCname().equals(entity.getCname())) {
			out.print("1111");
		}else{
			
		}
		/** 这里返回的是null */
		return null;
	}

 

  

function $(id) {  
    return document.getElementById(id);  
}  
//getAjax请求  
//创建XMLHttpRequest对象  
function getXhr() {  
    var xhr;  
    try {  
        //IE浏览器  
        xhr = new ActiveXObject("Microsoft.XMLHTTP");  
    } catch (err) {  
        try {  
            //firefox opera 等其他浏览器  
            xhr = new XMLHttpRequest();  
        } catch (er) {  
            alert("您的浏览器不支持ajax技术的操作,请您升级.....");  
        }  
  
    }  
  
    return xhr;  
}  	
	
function checkuser() {

	var user = document.getElementById("cname").value;
	//获取xhr对象  
           var xhr = getXhr();  
                xhr.open("get","csdn/customers_checkLogin.action?entity.cname="+user,true);  
                xhr.send();  
                document.getElementById("spanUser").innerHTML = '<img src=images/wait.gif />';
                xhr.onreadystatechange = function (){  
    	if(xhr.readyState==4 && xhr.status==200){
    		if(xhr.responseText){
    			document.getElementById("spanUser").innerHTML = '<img src=images/cry.png />';
    		}else{
    			document.getElementById("spanUser").innerHTML = '<img src=images/smile.png />';
    		}
    	}
    }
}

 

  

  

<tr>

	<td class="td01">
		登录名<span class=" text_o">*</span>:
	</td>

	<td class="td02" style="width: 400px;">

		<div class="left">
			<input name="entity.cname" id="cname" type="text" size="30" onblur="checkuser()">
				<span id="spanUser"></span>
		</div>
	</td>

</tr>

 

13
9
分享到:
评论
17 楼 qingchenyuji 2012-02-25  
您好:我是在SSH架构下使用ajax实现异步刷新,但是我在javaaction代码中设置输出内容时:只能输出true或flase,换了其他变量或字符串,页面的ajax就收不到action传送来的数据,我用的不是servlet,用的时MVC三层架构。真心求教!
16 楼 make_miracles 2011-06-17  
返回true或flase在客户端设置图片展示不行吗,干嘛由后台返回图片。
15 楼 z_xiaofei168 2011-06-17  
venus224 写道
写着玩玩可以,在项目中还是用json吧!

呵呵,恩恩,那绝对是必须的。
14 楼 venus224 2011-06-16  
写着玩玩可以,在项目中还是用json吧!
13 楼 z_xiaofei168 2011-06-14  
liuningbo 写道
看不懂啊看不懂,

神马情况?
12 楼 liuningbo 2011-06-14  
看不懂啊看不懂,
11 楼 z_xiaofei168 2011-06-07  
QiuQiu0034 写道
为什么不用struts2的json插件呢,方便多了

恩,我知道,但我就想用下ajax,不想用json。尝试的做做。
10 楼 QiuQiu0034 2011-06-06  
为什么不用struts2的json插件呢,方便多了
9 楼 redish 2011-06-06  
佩服了,这个用法应该跟struts2没有任何关系吧
8 楼 kjj 2011-06-04  
你这样用struts和用servlet有啥区别
7 楼 z_xiaofei168 2011-06-04  
suhuanzheng7784877 写道
希望能对你有帮助~

谢了,我看看
6 楼 suhuanzheng7784877 2011-06-04  
希望能对你有帮助~
5 楼 suhuanzheng7784877 2011-06-04  
http://suhuanzheng7784877.iteye.com/blog/890578
4 楼 z_xiaofei168 2011-06-03  
Cross_Lee 写道
html 代码别用...[/java]

神马意思?是那个写代码前,那个前面写的吗?java代码或者是html之类的??如果是那个的话,我没注意,写错了
3 楼 Cross_Lee 2011-06-03  
html 代码别用...[/java]
2 楼 z_xiaofei168 2011-06-03  
vbvbxx 写道
还是基础不牢啊,偶也新手

呵呵,学的时间太长了,忘了,
1 楼 vbvbxx 2011-06-03  
还是基础不牢啊,偶也新手

相关推荐

    Struts2整合jQuery实现Ajax功能

    Struts2 整合jQuery实现Ajax功能 很多人用PHP做后台与jQuery.ajax()交互,而我偏偏喜欢Struts 2 Action. 希望大家想我一样在上面“添砖加瓦”不断完善, 一同进步。

    Struts2 ajax json使用介绍

    介绍struts、ajax如何返回json数据 一首先引入Struts和json所需的jar包。 二编写页面 三编写action类 四Struts配置

    Struts2整合jQuery实现Ajax功能.doc

    Struts2整合jQuery实现Ajax功能 和大多数喜欢用PHP做jQuery.ajax()后台不一样,我偏偏 喜欢 Java Struts2 Action。 欢迎您的下载完善。一同进步。

    AJAX和struts2传递JSON数组

    利用AJAX传递JSON数组,后台struts2的action接收。 详细代码简单易懂。

    js 原始ajax请求实现 struts2

    js ajax请求实现 struts2 action js ajax请求实现 struts2 action js ajax请求实现 struts2 action js ajax请求实现 struts2 action js ajax请求实现 struts2 action

    Struts2之ajax初析的并结合jquery一个例子

    Ajax那是大放异彩,Struts2框架自己整合了对Ajax的原生支持(struts 2.1.7+,之前的版本可以通过插件实现),框架的整合只是使得JSON的创建变得异常简单,并且可以简单的融入到Struts2框架中,当然这只是在我们需要...

    Struts2+Jquery实现ajax并返回json类型数据

    主要实现步骤如下: 1、JSP页面使用脚本代码执行ajax请求 2、Action中查询出需要返回的数据,并转换为json类型模式数据 3、配置struts.xml文件 4、页面脚本接受并处理数据!

    struts2帮助文档

    struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录进行显示。 5.单数据源配置(兼容Tomcat和Weblogic)。 6.Hibernate...

    struts2的方式返回json到jsp页面 List,Map,Object,对象各种操作都有....MyEclipse的,导入直接看效果。

    jsp通过Ajax无刷新获取Action返回的模拟数据,然后通过struts2转化成json数据返回页面....这里面Map,List,对象等等,一些常用的操作都有。主要的代码在Action和 json.js里面。适合新手入门

    Jquery_Ajax_Struts2_Action_JSP_Json

    通过jquery ajax 在struts2 action 和 jsp之间传递json

    Struts2 in action中文版

    9.1 为什么在Struts 2中使用Spring 196 9.1.1 依赖注入能做些什么 197 9.1.2 Spring如何管理对象和注入依赖 199 9.1.3 使用接口隐藏实现 200 9.2 将Spring添加到Struts 2 202 9.2.1 让Spring管理动作、拦截器和结果...

    jquery下的ajax与struts2操作数据库

    用ajax访问struts2的action,操作数据库,实现对商品记录进行删除操作;对商品记录进行修改操作;动态添加商品记录;商品的全选功能;实现商品的批量删除功能以及全选功能;

    struts2.0中文教程

    01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) ...08 在Struts 2中实现IoC 09 在Struts 2中实现文件上传 10 在Struts 2中实现CRUD 11 Struts 2中的OGNL 12 trus 2的新表单标志的使用 13 Struts 2与AJAX

    ajax_struts2_上传与下载_无刷新

    3. 在struts2的Action通过2种不同的实现方法返回json格式的字符串。 4. 针对商品实现简单无刷新上传与下载 4. 批量导入数据采用的是导入test文件夹下的测试压缩包upload.rar上传到服务器的临时目录,然后利用WinRar....

    jquery的ajax传json对象数组到struts2的action

    google搜到的。我看大神的文章发布时间是2014年5月。亲测好用。 某度搜技术类的真真真心不行。

    Ajax中responseText返回的是一个页面而不是一个值

    自己在struts2中的写好了业务逻辑用response返回的内容却是一个页面的! 然后就去了百度一下,说的是将struts2的返回值设为null(return null),这是因为struts2返回的是一个页面。如果在action中只进行业务逻辑不...

    Struts2和Ajax数据交互示例详解

    ajax请求在项目中常常使用,今天就平时掌握的总结一下,关于使用ajax请求到Struts2中的action时,前台页面与后台action之间的数据传递交互问题。 这里我主要记录下自己所掌握的几种方式。可以根据自己平时项目的需求...

    最新Struts2+jq+ajax+json 学会总要4步‵‵超级简单,里面包含实例

    最新Struts2.3.8 + jquery + ajax + json 学会struts+jq+ajax+json只要4步‵‵经过作者的总结超级简单 1. 导入struts2 及json包 asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar commons-fileupload-1.2.2.jar...

Global site tag (gtag.js) - Google Analytics