以下信息原文出自http://cqjava.iteye.com/blog/465495非常感谢cheng888qi
当利用ajax调用action返回json值的时候默认是把action中的所有属性全部转化为json字符串返回给浏览器了,但是我们有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题:
5.1. root参数:从返回结果中根据ognl表达式取出你需要输出的结果
如:
action类
-
public class BaseAction extends ActionSupport implements {
-
private Person person = null;
-
...
-
}
bean类
-
public class Person {
-
private String name;
-
private int age;
-
...
-
}
我们只要输出person对象的name属性值,配置如下
-
<result type="json">
-
<param name="root">person.name</param>
-
</result>
5.2. excludeNullProperties 参数:表示是否去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。
-
<result type="json">
-
<param name="excludeNullProperties">true</param>
-
</result>
5.3. ignoreHierarchy 参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认是不会包含父类BaseAction的属性值,ignoreHierarchy值默认为true,设置为false后会将父类和子类的属性一起返回。
-
<result type="json">
-
<param name="ignoreHierarchy">false</param>
-
</result>
5.4. includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
如:输出person的所有属性
-
<result type="json">
-
<param name="includeProperties">person.*, person\.name</param>
-
</result>
5.5. excludeProperties 参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同5.4.
分享到:
相关推荐
在Struts2中,通过整合JSON插件,可以方便地将Action的返回结果转换为JSON格式,供前端JavaScript处理。 `struts2-json-plugin`是Struts2的一个插件,它使得Struts2能够处理JSON请求和响应,无需额外的配置或库。这...
这告诉Struts2框架当收到名为`struts2Action`的请求时,使用`Struts2Action`类,并返回JSON格式的结果。如果需要在Action执行后返回一个页面,可以将`result`元素的类型改为`dispatcher`。 总结来说,通过这种方式...
3. **配置struts.xml**:在`struts.xml`配置文件中,我们需要为每个返回JSON的Action定义一个结果。例如: ```xml <result type="json"> <param name="includeProperties">users.* ``` 这里,`...
在Struts2框架中,Action类可以返回JSON响应。首先,需要在Action类上添加`@Result`注解,指定结果类型为JSON: ```java public class MyAction extends ActionSupport { @Override public String execute() ...
然后,在Struts2的配置文件struts.xml中启用JSON插件,通常通过以下配置实现: ```xml <constant name="struts.enable.SlashesInActionNames" value="true"/> <constant name="struts.action.extension" value=...
在Struts2中,我们可以使用注解来配置Action类,而不是传统的XML配置文件。例如,`@Action`注解用于标识一个方法作为处理请求的入口,`@Result`注解则定义了处理完请求后返回的视图。 Struts2的注解极大地提高了...
1. **配置JSON支持**:要在Struts2中启用JSON响应,首先需要在`struts.xml`配置文件中添加JSON插件的相关配置。这通常涉及到注册一个全局结果类型`json`,例如: ```xml <constant name="struts.action.extension" ...
在本场景中,我们将探讨如何在Struts2中返回JSON数据,并在页面上使用jQuery库的`$.ajax`或`$.getJSON`方法来接收和处理这些数据。 首先,我们需要在Struts2中配置JSON结果类型。在`struts.xml`配置文件中,添加一...
- **Action配置**:在Struts2中,你可以为每个Action配置一个结果类型为“json”的结果。这将在Action执行完成后返回JSON数据,而非HTML页面。例如,在struts.xml配置文件中: ```xml <result type="json"> *....
在Struts2中,返回JSON数据是一种常见的需求,尤其在处理AJAX请求时,它允许前端和后端进行无刷新的数据交互。这篇博客"Struts2返回json -- demo"可能是关于如何在Struts2框架中实现JSON响应的教程。 在Struts2中,...
在Struts2中,JSON(JavaScript Object Notation)包是一个关键组件,它提供了与JSON数据格式交互的能力,使得Web应用能够更高效地进行客户端和服务器端的数据交换。JSON是一种轻量级的数据交换格式,它易于人阅读和...
- root:通过指定一个返回参数为root对象,我们可以控制返回JSON数据的根节点,使得JSON格式的输出结果只包含我们想要的那部分数据。在提供的代码示例中,<param name="root">userInfo就是用来指定JSON数据的根节点...
首先,让我们理解三种在Struts2中传递数据的方法: 1. **Struts2标签库**:Struts2提供了一套丰富的标签库,如`s:textfield`、`s:submit`等,可以直接在JSP页面中使用。这些标签能够帮助开发者轻松地处理表单提交,...
在Struts2中,处理JSON主要包括以下几个步骤: 1. **添加依赖**:首先,需要在项目中引入Struts2的JSON插件。通常,这可以通过在Maven的pom.xml文件中添加相关依赖,或者在构建路径中手动添加struts2-json-plugin....
在Struts2中使用JSON,有两个关键的JAR包是必不可少的,这些正是`struts2-json-plugin-2.2.1.jar`和`json-lib-2.3-jdk15.jar`。 首先,`struts2-json-plugin-2.2.1.jar`是Struts2 JSON插件的实现库。这个插件为...
在Struts2中集成JSON,可以使得应用能够以JSON格式返回数据,这在开发RESTful API或者需要前端与后端进行异步交互的应用中特别有用。非注解方式意味着我们将不依赖于Struts2的注解配置,而是通过XML配置文件来定义...
使用`@Result`注解或struts.xml配置文件,可以指定一个结果类型为`json`,这样Struts2会将Action的返回对象转换成JSON格式并返回给前端。 **Ajax请求与JSON数据** 前端JavaScript代码使用XMLHttpRequest对象或现代...
以上就是关于Struts2中使用JSON包返回JSON数据的基本介绍。理解并熟练运用这些知识点,可以让你在开发基于Struts2的Web应用时更加高效,同时提供更佳的用户体验。记得在实际项目中根据需求灵活配置和调整。