struts2集成jquery1.4返回json实例。
准备工作(相关jar引入):
将struts的配置和要用的包引入
配置及编码
1、struts.xml文件配置:
<package name="user" namespace="/user" extends="json-default">
<action name="register" method="create" class="com.web.action.UserAction">
<result name="input">/user/register.jsp</result>
<result>/user/success.jsp</result>
</action>
<action name="validate" method="execute" class="com.web.action.userAjaxAction">
<result name="input">/user/register.jsp</result>
<result type="json"></result>
</action>
</package>
2、struts.properties文件配置:
struts.action.extension=html
3、页面js引入及方法定义、表单定义
<script type="text/javascript" src="../js/jquery-1.4.2.js"></script>
<script>
function doValidate(){
var url = "validate.html";
if($('#name').attr('value')==null || $('#name').attr('value')==""){
return false;
}
var params = {
username:$('#name').attr('value')
};
$.post(url,params,callback);
//$.post(url,params,callback,'json');
}
function callback(data){
alert("username ("+data.username+") is "+data.result);
}
</script>
<form action="register.html" method="post">
username:<input onBlur="javascript:doValidate()" id="name" type="test" name="user.username" /><br>
password:<input type="password" name="user.password" /><br>
<input type="submit" value="register"/>
</form>
4、编写action类
userAction.java:
public class userAction extends ActionSupport {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String create(){
System.out.println(user.getUsername()+"---->"+user.getPassword());
return "success";
}
}
userAjaxAction.java:
public class userAjaxAction extends ActionSupport {
public String username;
private String result;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getResult() {
return result;
}
public String execute(){
System.out.println("username -->> "+username);
//设置返回结果
this.result = "disable";
return "success";
}
}
到此,struts2集成jquery1.4返回json实例的代码编写完成了(注意:返回的json是action对象)
测试结果: