`
haijuanliang
  • 浏览: 1298 次
  • 性别: Icon_minigender_2
  • 来自: 济南
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
author:z_xiaofei168

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

     先看效果,下图所示:





Java代码 
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;  
    } 

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;
}

  

Java代码 
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 />';  
            }  
        }  
    }  


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 />';
    }
    }
    }
}

  

  

Java代码 
<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漏洞检查工具Struts2.2019.V2.3

    Struts2是一款非常流行的Java Web框架,用于构建企业级应用。然而,随着时间的推移,Struts2在安全方面暴露出了一些重要的漏洞,这给使用该框架的系统带来了潜在的安全风险。"Struts2漏洞检查工具Struts2.2019.V2.3...

    struts1.2驱动包

    Struts1.2驱动包是Java Web开发中一个重要的组件,它是Apache Struts框架的特定版本,用于支持基于Model-View-Controller (MVC)设计模式的应用程序开发。Struts1.2因其稳定性和广泛的功能集而在过去备受推崇,尤其在...

    Struts2视频教程

    ### Struts2核心知识点解析 #### 一、Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,...

    Struts2VulsTools-Struts2系列漏洞检查工具

    该工具的打开路径为:\Struts2VulsTools-2.3.20190927\Test\bin\Release\Text.exe 2019-09-25: 优化部分EXP在部分情况下被WAF拦截的问题,提高检测成功率,优化自定义上传路径exp,文件所在目录不存在时自动创建...

    Struts所需要的jar

    Struts是一个开源的Java Web应用程序框架,主要用于构建MVC(Model-View-Controller)模式的Web应用。在Java EE世界中,Struts扮演着至关重要的角色,它简化了开发过程,提高了代码的可维护性和可扩展性。SSH框架是...

    全网最全Struts 2 全版本漏洞检测工具,最新struts漏洞更新

    Struts 2是一款基于Java的开源MVC框架,它在Web应用开发中广泛使用,但同时也因其复杂的架构和历史遗留问题,成为了网络安全的焦点。这个标题提到的是一个全面的Struts 2漏洞检测工具,旨在帮助开发者和安全专家识别...

    最新版本的Struts2+Spring4+Hibernate4框架整合

    项目原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6 二、 项目目的: 整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + ...

    struts2jar包

    Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、...

    struts2项目开发

    Struts2 项目开发 Struts2 是一个基于 Java Web 的框架,广泛应用于 Web 应用程序的开发。下面将从 Struts2 项目开发的角度,详细介绍 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点。 项目...

    struts2-core.jar

    struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...

    Struts2接口文档

    Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,旨在简化创建用户交互式、数据驱动的web应用的过程。这个“Struts2接口文档”是开发者的重要参考资料,提供了关于...

    搭建struts2框架

    struts2框架的详细搭建 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...

    struts2 chm 帮助文档

    struts2 chm 程序包 org.apache.struts2 接口概要 接口 说明 StrutsStatics Constants used by Struts. 类概要 类 说明 RequestUtils Request handling utility class. ServletActionContext Web-specific ...

    struts2-showcase.rar

    Struts2-showcase是一个用于演示和学习Apache Struts2框架功能的开源项目。这个压缩包“struts2-showcase.rar”包含了完整的源代码,旨在帮助开发者深入理解Struts2框架的工作原理及其各种特性。以下是对Struts2和...

    struts2.0整合Struts 1

    Struts 2整合Struts 1,允许开发者利用Struts 1已有的投资,同时享受Struts 2带来的优势,如增强的类型安全和更强大的拦截器机制。 在《Struts 2权威指南--基于WebWork核心的MVC开发》这本书中,作者李纲深入浅出地...

    struts2.2.3加载的核心jar包

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域中被广泛使用,提供了强大的控制层来处理请求、数据绑定、验证和结果展示。Struts2.2.3是Struts2的一个版本,这个...

    Struts升级到Struts2.3.35

    北京时间8月22日13时,Apache官方发布通告公布了Struts2中一个远程代码执行漏洞(cve-2018-11776)。该漏洞可能在两种情况下被触发,第一,当没有为底层xml配置中定义的结果设置namespace 值,并且其上层动作集配置...

    Struts2开发常用jar包

    包含struts2-core-2.5.10.1.jar,struts2-jfreechart-plugin-2.5.10.1.jar,struts2-json-plugin-2.5.10.1.jar,struts2-junit-plugin-2.5.10.1.jar,struts2-bean-validation-plugin-2.5.10.1.jar,struts2-cdi-...

    struts2所有jar包程序文件

    Struts2是一个非常著名的Java Web开发框架,由Apache软件基金会维护。它基于MVC(Model-View-Controller)设计模式,极大地简化了构建基于Java EE的Web应用程序的过程。本资源包含"struts2所有jar包程序文件",是...

    struts-config详解

    Struts-config详解 Struts-config.xml 是Struts框架的核心配置文件,它描述了所有的Struts组件。在这个文件中,我们可以配置主要的组件及次要的组件。下面是struts-config.xml文件的主要元素: 一、struts-config....

Global site tag (gtag.js) - Google Analytics