Ajax 技术  学习步骤          
1、  把 ajaxanywhere-1.2-RC2.jar 压缩包复制到  \工程名\WebRoot\WEB-INF\lib 目录下。
2、  把 ajaxanywhere.tld 文件复制到 \工程名\WebRoot\WEB-INF 目录下。
3、  把 js 文件夹复制到  \工程名\WebRoot  目录下。
4、把 log4j-1.2.11.jar 加到WebRoot\WEB-INF\lib 目录下
5、在 web.xml 中添加 ajax 的配置 
    <!-- Ajax配置开始,带编码转换(包括ajax提交的编码) -->  
    <filter>
        <filter-name>AjaxAnywhere</filter-name>
        <filter-class>org.ajaxanywhere.AAFilter</filter-class>
        <init-param>
            <param-name>ShowInfo</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>encoding</param-name><!-- 普通提交方式编码 -->
            <param-value>GB2312</param-value>
        </init-param>
        <init-param>
            <param-name>ajaxencoding</param-name><!-- AJAX提交方式编码 -->
            <param-value>GB2312</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>AjaxAnywhere</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- Ajax配置结束 -->
6、新建 login.jsp 文件,添加 ajax 标签 
<%@ page language="java" pageEncoding="gbk"%>
 
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
 
<%@ taglib uri="/WEB-INF/ajaxanywhere.tld" prefix="ajax"%>
 
7、导入 ajax 文件
<!--  select.js 主要有:onSelect() 与 onSelectAll()方法-->
<script src="js/select.js" type="text/javascript"></script>
<!--  Ajax JS 与ajvaAnywhere 组件包结合使用 必须-->
<script src="js/ajax.js" type="text/javascript"></script>
 
8、定义刷新热区 
   <label><ajax:zone name="AdminZone"><font color="red">${requestScope.IsAdmin }</font></ajax:zone></label>
9、定义触发事件:<input name="aname" type="text" class="input_normal" id="aname"  onblur="checkuser()">
 可以是: 失去焦点、点击、双击
10、编写脚本方法:
<script type="text/javascript">
 //ajax 判断用户是否存在
    function checkuser(){
        var username=document.loginForm.aname.value;
if(username!=""){         //ajaxAnywhere.getAJAX("adminAction.do?methods=isAdmin&aname="+username);
          document.loginForm.action="login.do?methods=isAdmin";
          ajaxAnywhere.formName="loginForm";
          ajaxAnywhere.submitAJAX();
          
        }
    }
</script>
11、建立相应的 form 和 action 
    /**
     * 可以用Ajax来判断用户名是否存在(登陆验证)
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return
     */
    public ActionForward isAdmin(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response){
        
        LoginForm loginForm = (LoginForm) form;
        // 处理刷新区域
        if (AAUtils.isAjaxRequest(request)) {
            /**下面的AdminExistZone 为热区的名字,即在jsp中<aa:zone name="AdminExistZone">...</aa:zone>中的name属性的值*/
            AAUtils.addZonesToRefresh(request, "AdminZone");    
        }
        if(loginForm.getAname().equals("xx")){
            request.setAttribute("IsAdmin", "用户名存在!");          
        }else{
            request.setAttribute("IsAdmin", "该用户名不存在!");      
        }
        
        return new ActionForward("/login.jsp");
    }
12、修改 struts-config.xml 文件的配置
 
 
	posted on 2008-01-13 11:35 
逍湘 阅读(636) 
评论(0)  编辑  收藏