步骤 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
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
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货