Gson+Struts2 例子

 

Gson+Struts2 例子

 

 

 

该实例只是测试,其实在action中,不需要一个user的全局变量(为了接收ID,懒得再去声明一个变量),

 

这样会破坏了Gson的原则,可以放到execute方法中。

 

gson包的下载地址:

 

http://code.google.com/p/google-gson/downloads/list

 

放到lib文件夹中。

 

struts.xml配置:

 

<action name="gsonaction" class="com.action.gson.GsonAction">
  </action>

 

所属的包,没有必要继承自json-default

 

struts2 action 代码:

 

 

@Controller
public class GsonAction extends ActionSupport {
 @Resource
 private IUserDao iud;
 private Users user;
 public Users getUser() {
  return user;
 }
 public void setUser(Users user) {
  this.user = user;
 }
 public String execute() {
  Integer uid = user.getUserid();// 获取JSP页面中select列表的传递过来的用户ID
  this.user = iud.findById(uid);// 根据用户的ID获取用户实体
  Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
  String res = gson.toJson(this.user);
  HttpServletResponse response = ServletActionContext.getResponse();
  response.setContentType("application/json;charset=utf-8");
  try {
   PrintWriter out = response.getWriter();
   out.print(res);
   out.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
  return null;
 }
}

 

JSP 页面部分代码(使用jQuery):

 

 

function getgsoninfo() {
 var val = $("#person").val();//获取选中的用户ID
 $.ajax( {
  type:"post",
  url : "gsonaction.action",//action的地址
  data : "user.userid=" + val,
  success : function(data) {
   alert(data.username);//弹出用户名,data为返回的user实体
  }
 });
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值