本例的目的是为了实验struts2对json的支持,步骤:struts将UserAction类中返回的User属性转化成json串,返回前台页面,前台页面通过ajax获取json,然后通过eval()方法将json串转化成对象,如var obj = eval ('(' + xmlHttp.responseText + ')'); 这时就可以在前台访问 后台返回对象的属性了,如obj.user.username。
User类如下:
package com.zq.entity;
public class User {
private int id;
private String username;
private String psssword;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPsssword() {
return psssword;
}
public void setPsssword(String psssword) {
this.psssword = psssword;
}
}
action类如下:
package com.zq.web.action;
import com.opensymphony.xwork2.ActionSupport;
import com.zq.entity.User;
public class UserAction extends ActionSupport {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
user=new User();
user.setId(123);
user.setUsername("qingqing");
user.setPsssword("qingqing123");
return SUCCESS;
}
}
配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="nihao" extends="json-default" namespace="/hello" >
<action name="userAction" class="com.zq.web.action.UserAction">
<result type="json" name="success"></result>
</action>
</package>
</struts>
将pakage标签中的extends属性设置成“json-default”,<result>的type属性设置成json