对程序的某些方法返回的响应时间做了讨论。从中发现有的方法只是简单的执行了一个提取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对象,这样可以使返回的内容减少