这几天和同行对程序的某些方法返回的响应时间做了讨论。从中发现有的方法只是简单的执行了一个提取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对象,这样可以使返回的内容减少
下次再说说怎么返回继承的对象吧
分享到:
相关推荐
在本文中,我们将探讨两种在Struts2框架中返回JSON数据的方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,尤其是在AJAX请求中。Struts2提供了一套方便的机制来支持JSON...
在Struts2中,生成JSON响应主要通过使用Struts2的JSON插件来实现。首先,确保你的项目已经集成了Struts2的JSON插件。这通常涉及到在`struts.xml`配置文件中添加相应的配置: ```xml <constant name="struts.enable....
- **Action方法返回值**:Action中的方法可以返回JSON类型,例如`"json"`,Struts2会自动将Java对象转换为JSON格式。 - **Ajax请求**:使用jQuery库发送异步AJAX请求,例如`$.ajax()`或`$.getJSON()`,与Struts2的...
java jar包,亲测试可用 ...把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,可以把一个或多个路径全部压缩成一个JAR文件。
3. **JSON结果映射**:在Struts2中,你可以使用`@Param`注解来将JSON对象的属性映射到Action的成员变量上,或者直接在Action中构建一个Map来接收所有的JSON数据。 4. **安全考虑**:使用Ajax和JSON时,要注意跨站...
5. **异常处理与提示**:在Action中定义message变量,用于存储操作结果或异常信息,将其以JSON格式返回给客户端。客户端根据message的内容决定是否显示错误提示或进行下一步操作,这种机制确保了系统的健壮性和用户...
java jar包,亲测试可用 ...把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,可以把一个或多个路径全部压缩成一个JAR文件。
如果需要在Ajax请求中返回JSON数据,可以引入`struts2-json-plugin`,并在配置文件中启用JSON结果类型。 总结,Struts2的配置涉及多个方面,从环境搭建、jar包引入、核心配置文件编写到Action类、视图和拦截器的...
Struts2框架是一款基于MVC(Model-View-Controller)设计模式的开源Java Web应用程序框架,它极大地简化了Java Servlet API的使用,提高了开发效率。这个压缩包包含了两个不同版本的Struts2框架:struts2.0.11和...
6. **插件和集成**:Struts2有丰富的插件支持,如Tiles、JSON、FreeMarker等,它们扩展了Struts2的功能。学习如何集成这些插件,以提升Web应用的灵活性和功能。 7. **异常处理**:Struts2提供了统一的异常处理机制...
java jar包,亲测试可用 ...把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,可以把一个或多个路径全部压缩成一个JAR文件。
在实现ModelDriven接口的Action类中,当调用execute()方法或其他业务逻辑方法执行后,Struts2框架会自动将返回的模型对象序列化为JSON格式输出给前端。 因此,在实际开发中,如果遇到类似问题,可以根据具体的需求...
本文将以SSH(Struts2 + Spring + Hibernate)框架结合EXT框架为例,详细介绍如何通过SSH框架将数据转化为JSON格式并传递给EXT前端。 #### 二、环境配置 在开始之前,我们需要确保项目中已经正确配置了SSH框架的...
当文件上传过程中,你可以通过调用`ActionContext`中的`ValueStack`将进度信息放入栈中,然后使用Struts2的JSON插件将其转换为JSON格式返回。在`execute`方法中添加如下代码: ```java ActionContext.getContext...
在这个示例中,前端使用Extjs发送请求到后端,后端通过Struts2处理请求并获取数据,最终将数据转换为JSON格式返回给前端。这符合现代Web应用的数据交互标准。 ### 5. Java Action类实现 #### 知识点概述: Action...
- **插件支持**:Struts2有丰富的插件库,如JSON、Ajax、Freemarker等,便于扩展功能。 通过这个Hello World示例,开发者可以初步了解Struts2的基本架构和工作流程,为后续深入学习和应用打下基础。对于初学者,...
4. **结果类型**:结果类型定义了Action执行后如何跳转,如转发到JSP、FreeMarker模板或直接返回JSON、XML数据。 **FreeMarker模板**: 1. **基本概念**:FreeMarker是一个与语言无关的模板引擎,它解析模板并结合...
3. **插件支持**:Struts2拥有丰富的插件库,如Tiles插件用于页面布局,Freemarker或Velocity模板引擎用于视图渲染,以及JSON和Ajax支持等。 4. **动态方法调用(Dynamic Method Invocation,DMI)**:允许根据URL...