步骤 1:首先先写一个POJO CdnUser
package www.gbsou.com.bean;/**
 * @blog www.gbsou.com
 */public class CdnUser implements java.io.Serializable,IEntity {    // Fields    private Integer uid;
    private String uname;
    private String upwd;
    private Integer authid;
    private String uemail;    /*
     *省略get set方法
     */
}—————————————步骤 2:下面开始写我们的后台处理方法
package www.gbsou.com.action;import www.gbsou.com.bean.CdnUser;
import www.gbsou.com.service.IUserService;/**
 * @author Jeson
 * @blog www.gbsou.com
 * @date:Oct 28, 2009 8:16:34 PM
 * @version :1.0
 *
 */
public class UserAction extends ActionSupport {
    private IUserService userService = null;
    private CdnUser user = null;
    private String responseText;
    public String isExists() {
        user = new CdnUser();
        user.setUemail(test1);
        //查询数据库判断在返回true反之false
        responseText = userService.isExists(user)?"y":"n";
        return "success";
    }    /*
     * 省略get set方法
     */
}上面的方法中 是将封装了用户信息的对象user拿去和数据库交互 做用户是否存在的判断步骤 3:下面开始配置 步骤2中的action 这里要注意的是package不再继承默认的struts-default包了 而是继承json-default 这个包需要jsonplugin.jar的支持 这个包的下载地址http://code.google.com/p/jsonplugin/downloads/list  他主要是将action中的属性进行序列化输出。这就是为什么我的方法中好像没用打印扫描json语句,取而代之的是直接给responseText 对象赋值。详细请参考关于 jsonpluginhttp://www.gbsou.com/2010/04/20/2512.html
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>
    <package name="ajax" extends="json-default" namespace="/ajax">
        <action name="ajax" class="ajaxAction" method="showResponse">
            <result type="json" />
        </action>
        <action name="isExists" class="userAction" method="isExists">
            <result type="json">
                <param name="excludeProperties">
                    <!-- 序列化属性中排除 ,这里的userService,user将不会以json格式输出 -->
                    <!-- userService因为是注入进来的对象 这里不排除的话会报异常 -->
                    userService,user
                </param>
            </result>
        </action>
        <action name="jsonAjax" class="ajaxAction">
            <result>/WEB-INF/pages/error/errorJson.jsp</result>
        </action>
    </package></struts>步骤 4:开始编写前台页面的form代码 注意的是 这里的空间的名字叫做user.uname 这里其实对应的是action里的user对象里的uname属性,struts2机制会自己注入进去。
<form action="${changeUser }" method="post"  name="form1" id="form1" onsubmit="return jQuery.formValidator.PageIsValid('1');">
  <table border="0px" style="font-size:12px" width="630px">
    <tr>
      <td align="right">对方/2010/04/20/2510.html" target="_blank">http://www.gbsou.com/2010/04/20/2510.html我们在页面首先先声明 之前步骤3配的路径
<s:url action="isExists" namespace="/ajax" includeParams="none" id="isExist"></s:url>并且编写jquery的ajax请求
function valEmail(){
var unames = $("#oppUname1").val();
$("#oppUname1").AjaxValidator({
        type : "post",
        url : "${isExist}",
        datatype : "html",
        data:"a="+unames,
        success : function(data){
            eval("dat="+data)
            alert(data);
           if(dat.responseText == 'n'){
           return false;
           }else{
               return true;
           }
        },
        buttons: $("#button"),
        error: function(data){alert(data);alert("服务器没有返回数据,可能服务器忙,请重试");},
        onerror : "该用户名不存在",
        onwait : "正在对用户名进行合法性校验,请稍候..."
    }).DefaultPassed();
}
上述的代码可以换成jquery的ajax()方法 这里将会吧步骤2中的responseText 属性按照json格式输出 大概就是{'responseText' :'n'}格式ok以上就是一个完整的struts2整合ajax实例了转载请标明原文出处:http://www.gbsou.com/2010/04/20/2508.html