日期:2014-05-16 浏览次数:20443 次
这几天和同行对程序的某些方法返回的响应时间做了讨论。从中发现有的方法只是简单的执行了一个提取session的动作就消耗了几百毫秒,所以我们查看了返回的内容,发现返回了很多不必要的变量,所以寻找了方法来解决这个问题。
?
我们绝大多数方法都使用了json类型返回,且基于注解实现。
我们的解决方法如下:1.控制json返回的变量。2,让json类型机制过滤null对象
?
1
/** * 验证登陆 */ @Action(value="CheckLogin",results={ @Result(name = "json", type="json",params={"includeProperties","slogin"}) }) public String CheckLogin() { String adminid = (String) ActionContext.getContext().getSession().get(BaseTools.BACK_USER_SESSION_KEY); if (!adminid.isEmpty()) { this.setCreatorid(adminid); this.setSlogin(false); return "json"; } else { this.setSlogin(true); return "json"; } }
?params={"includeProperties","slogin"} 表示在这个方法返回时只返回slogin这个对象
?
2
/** * 验证登陆 */ @Action(value="CheckLogin",results={ @Result(name = "json", type="json",params={"excludeNullProperties","true"}) }) public String CheckLogin() { String adminid = (String) ActionContext.getContext().getSession().get(BaseTools.BACK_USER_SESSION_KEY); if (!adminid.isEmpty()) { this.setCreatorid(adminid); this.setSlogin(false); return "json"; } else { this.setSlogin(true); return "json"; } }
?params={"excludeNullProperties","true"} 表示过滤掉null对象,这样可以使返回的内容减少
?
下次再说说怎么返回继承的对象吧