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>
分享到:
相关推荐
此外,为了更好地展示数据,可能还需要在Struts2中使用Interceptor(拦截器),例如,`params`拦截器用于将请求参数绑定到Action,`validation`拦截器负责验证表单数据,`workflow`拦截器管理Action的生命周期。...
在Struts2中,Jquery可以与Ajax结合使用,实现页面的无刷新更新。 Ajax(Asynchronous JavaScript and XML)技术允许前端与后台进行异步通信,无需整个页面刷新,提高了用户体验。在Struts2框架下,我们可以使用...
1. **创建Struts2 Action**:在Struts2中,你需要定义一个Action类,该类将处理Ajax请求。这个类通常包含一个或多个方法,每个方法对应一个特定的请求。你需要在这些方法中实现业务逻辑,并使用Struts2的`@Result`...
首先,让我们理解三种在Struts2中传递数据的方法: 1. **Struts2标签库**:Struts2提供了一套丰富的标签库,如`s:textfield`、`s:submit`等,可以直接在JSP页面中使用。这些标签能够帮助开发者轻松地处理表单提交,...
4. Struts2 Action接收并处理文件:在服务器端,Struts2的Action类接收到请求,解析文件数据,并进行验证和存储。 5. 返回响应:服务器处理完文件后,返回一个响应,告知前端文件上传的结果,如成功或失败。 6. 更新...
本实例展示了如何在Struts2框架下,通过Ajax发送请求获取JSON数据,并将数据返回到JSP页面,以填充下拉列表(`<s:select/>`标签)。 1. **Struts2配置**: 在`struts.xml`配置文件中,我们需要定义一个Action,...
在Struts2中使用Ajax,可以实现页面的部分更新,提高用户体验,而无需每次操作都刷新整个页面。下面将详细介绍如何在Struts2中集成和使用Ajax技术。 1. **Ajax简介**: Ajax(Asynchronous JavaScript and XML)是...
1. **Struts2配置**:首先,需要在`struts.xml`配置文件中定义一个Action,这个Action将处理Ajax请求。你需要设置一个特定的结果类型,比如`json`,这将使Struts2以JSON格式返回数据,非常适合Ajax调用。 2. **Ajax...
7. **示例代码**:在提供的压缩包文件“struts2中实现AJAX的小实例”中,可能包含了一个简单的Struts2 Action、对应的JSP页面以及JavaScript代码。Action类可能有一个返回JSON数据的方法,JSP页面可能包含一个AJAX...
总结,Struts2中返回JSON数据有两种主要方式:一是通过`response.getWriter().print()`手动输出JSON字符串;二是利用Struts2的内置JSON插件,通过返回特定的属性和结果类型自动处理JSON。每种方法都有其适用场景,...
在Struts2中,我们可以利用Ajax和JSON来实现数据的异步交互。 **一、引入所需库** 首先,为了在Struts2中使用Ajax和JSON,我们需要引入以下库: 1. Struts2的核心库:`struts2-core.jar` 2. Struts2的JSON插件:`...
在Struts2中,开发者可以定义Action类,每个Action对应一个特定的用户请求,处理完成后返回结果到视图层。 **jQuery** 是一个流行的JavaScript库,简化了DOM操作、事件处理、动画和Ajax交互。在本案例中,jQuery...
在Struts2中,我们可以使用JSON插件来方便地序列化和反序列化Java对象为JSON格式,从而实现在Ajax请求中发送和接收数据。 **3. jQuery库** jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理...
Struts2、jQuery和Ajax是Web开发中的三大关键技术,它们结合...以上就是Struts2、jQuery和Ajax在登录验证中的应用详解,它们共同构建了一个无刷新、响应快速的用户体验,同时也保证了后端的业务逻辑处理和数据安全。
1. **配置Struts2**:首先,需要在Struts2的配置文件`struts.xml`中定义Action,设置返回类型为"json",这样Struts2就会自动将Action的返回值转化为JSON格式。 ```xml <action name="ajaxAction" class=...
本篇将详细讲解如何在Struts2中配置Action来返回JSON响应。 首先,我们需要了解Struts2的Result类型。默认情况下,Action会返回一个JSP页面作为结果,但通过配置,我们可以让Action返回JSON数据。这需要使用到一个...
在Struts2中,Action是处理用户请求的核心组件,它接收来自控制器的请求,执行相应的业务逻辑,并返回结果到视图层。jQuery则是一个流行的JavaScript库,极大地简化了DOM操作、事件处理以及Ajax交互等前端任务。 ...
当AJAX请求到达时,Struts2会自动将这个Action实例转换为JSON格式,并返回给客户端。 客户端的JavaScript可以使用XMLHttpRequest或jQuery等库发送AJAX请求,获取JSON数据,然后动态更新页面内容,实现无刷新的交互...
在Struts2中,可以通过配置Action来处理Ajax请求。Action类中的方法可以返回一个值,这个值可以映射到一个视图,也可以是JSON字符串。使用`@Result`注解或struts.xml配置文件,可以指定一个结果类型为`json`,这样...
3. **JSON结果映射**:在Struts2中,你可以使用`@Param`注解来将JSON对象的属性映射到Action的成员变量上,或者直接在Action中构建一个Map来接收所有的JSON数据。 4. **安全考虑**:使用Ajax和JSON时,要注意跨站...