CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  Ajax

求ajax与struts结合的实例。

楼主suker1980(笑傲糨糊)2006-07-04 18:43:25 在 Web 开发 / Ajax 提问

想运用ajax技术,直接访问struts的action,在action中怎样返回? 问题点数:20、回复次数:1Top

1 楼dearsn()回复于 2006-07-05 16:47:31 得分 20

我也被这个问题困扰过,看看下面的这个例子你就明白了。  
   
  用ajax+struts实现用户名验证功能。      
   
  页面端:  
   
  <%@   page   contentType="text/html;   charset=gb2312"   %>  
  <%   request.setCharacterEncoding("gb2312");   %>  
  <%@   taglib   uri="http://java.sun.com/jstl/core"   prefix="c"   %>  
  <%@   taglib   uri="/WEB-INF/jUtil.tld"   prefix="jutil"%>  
  <%@   taglib   uri="/WEB-INF/app.tld"   prefix="app"   %>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <html>  
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <title>无标题文档</title>  
   
    <script   language="javascript">  
    var   xmlhttp   ;  
    function   chkUser()  
    {  
            window.status   =   '';  
            document.getElementById("load").style.display='';  
      if(window.ActiveXObject){  
        xmlhttp=new   ActiveXObject("Microsoft.XMLHTTP");  
      }else   if(window.XMLHttpRequest){  
        xmlhttp=new   XMLHttpRequest();  
      }  
       
      var   url   =   "http://localhost/fiip/webapp/home.do?action=verdictuserName";  
            xmlhttp.onreadystatechange   =getReady;  
      var   name   =   document.getElementById("username").value;  
      url=url+"&userName="+name;  
            xmlhttp.open("GET",url);  
            xmlhttp.send(null);  
  }  
  function   getReady()  
  {  
        if(xmlhttp.readyState   ==   4)//   完成  
        {  
            if(xmlhttp.status   ==   200)//ok     404not     found  
            {  
                  var   xmlReturn   =   xmlhttp.responseText;//服务器的响应,表示一个串  
      //alert("sdfsdf");  
                  document.getElementById("load").innerText=xmlReturn;//表现一组开始标记和结束标记之间的内容  
      //var   responsediv=document.getElementById("load");  
      //var   responsetext=document.createTextNode(xmlReturn);  
      //responsediv.appendChild(responsetext);  
            }  
            xmlhttp   =   null;  
        }  
   
  }  
  </script>  
   
  </head>  
   
  <body>  
  <form   action=""   method="post"   name="form1">  
  <table   width="564"   border="0">  
      <tr>  
          <td   width="89">用户名:</td>  
          <td   width="465"><input   name="username"   type="text"   id="username"   onBlur="chkUser()">   <div   id=load   style="display:none;   position:absolute;right:0px;top:0px;background:#FF5B5B;border:1px   solid">正在验证用户名,请稍后……</div></td>  
      </tr>  
      <tr>  
          <td>密码:</td>  
          <td><input   name="password"   type="text"   id="password"></td>  
      </tr>  
      <tr>  
          <td>&nbsp;</td>  
          <td><input   type="submit"   name="Submit"   value="提交">  
              <input   type="reset"   name="Submit2"   value="重置"></td>  
      </tr>  
      <tr>  
          <td>&nbsp;</td>  
          <td>&nbsp;</td>  
      </tr>  
      <tr>  
          <td   height="15">&nbsp;</td>  
          <td>&nbsp;</td>  
      </tr>  
  </table>  
  </form>  
  </body>  
  </html>  
   
     
   
     
   
  struts-congfig.xml配置  
   
  <?xml   version="1.0"   encoding="UTF-8"?>  
  <!DOCTYPE   struts-config   PUBLIC   "-//Apache   Software   Foundation//DTD   Struts   Configuration   1.1//EN"   "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">  
  <struts-config>  
   
      <form-beans   >    
        <form-bean   name="homeForm"   type="com.trsoft.home.HomeForm"/>  
      </form-beans>  
       
    <global-forwards>  
   
    </global-forwards>  
     
      <action-mappings>  
       
      <action   path="/webapp/home"  
        type="com.trsoft.home.HomeAction"  
              name="homeForm"  
              scope="request"  
              validate="false">  
               
              <forward   name="home"   path="/webapp/homepage/homepage.jsp"/>  
      </action>  
       
        </action-mappings>  
         
  </struts-config>  
   
     
   
     
   
     
   
  程序实现:  
   
  import   java.io.UnsupportedEncodingException;  
  import   org.apache.struts.action.Action;  
  import   org.apache.struts.action.ActionForm;  
  import   org.apache.struts.action.ActionMapping;  
  import   org.apache.struts.action.ActionForward;  
  import   javax.servlet.http.HttpServletRequest;  
  import   javax.servlet.http.HttpServletResponse;  
  import   java.util.ArrayList;  
   
  public   class   HomeAction   extends   Action   {  
    public   ActionForward   execute(ActionMapping   mapping,                
        ActionForm   form,  
        HttpServletRequest   request,  
        HttpServletResponse   response)   throws   UnsupportedEncodingException{  
       
      request.setCharacterEncoding("gb2312");  
      String   action=(String)request.getParameter("action");  
      String   forward="";  
      /**    
        *   @功能:判断用户是否已注册  
        *    
        *   @参数:  
        *       String   username用户名  
        *        
        *    
        *   @流程:  
        *    
        */  
      else   if("verdictuserName".equals(action)){  
        String   msgStr="";  
        try{  
            response.setContentType("text/html;charset=GB2312");  
            String   userName=(String)request.getParameter("userName");  
            System.out.println("userName   =   "+userName);  
            if("gong".equals(userName)){   //找查数据库中有无该用户名  
              msgStr   ="对不起,此用户名已经存在,请更换用户名注册!";  
            }else{  
              msgStr   ="用户未被注册,可以使用";  
            }  
            response.getWriter().write(msgStr);  
           
          }catch(Exception   ex){  
             
          }  
      }  
       
      /**    
        *   @功能:用户注册  
        *    
        *   @参数:  
        *       String   username用户名  
        *       String   password   密码  
        *    
        *   @流程:  
        *    
        */  
      else   if("register".equals(action)){  
         
      }  
       
      return   mapping.findForward(forward);  
    }  
  }  
   
   
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:suker1980
  • dearsn

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo