在struts.xml文件中配置:
<package name="default" extends="struts-default,json-default">
在Action中配置
1<action name="testAction" class="com.json.action.TestAction" method="testMethod">
2 <interceptor-ref name="json" /><!--处理以JSON文本提交的请求-->
3 <result type="json" /> <!--将action的bean属性以json字符串返回浏览器-->
4</action>
2 <interceptor-ref name="json" /><!--处理以JSON文本提交的请求-->
3 <result type="json" /> <!--将action的bean属性以json字符串返回浏览器-->
4</action>
这时返回的数据就是以json格式返回的一个字符串,是把action中的所有属性全部转化为json字符串返回给浏览器了,但是我有时候需要根据实际情况返回部分结果,如何对json的结果进行定制输出呢?result提供了一些参数替你解决这个问题
root参数:从返回结果中根据ognl表达式取出你需要输出的结果
如:
action类
public class BaseAction extends ActionSupport implements {
private Person person = null;
}
private Person person = null;
}
bean 类:
1public class Person {
2 private String name;
3 private int age;
4
5}
2 private String name;
3 private int age;
4
5}
我们只要输出person对象的name属性值,配置如下
1<result type="json">
2<param name="root">person.name</param>
3</result>
2<param name="root">person.name</param>
3</result>
这里我遇到个问题,就是如果不给root属性赋值的话,它会默认将去寻找Action中的所有含getXXX的方法,这里不仅仅是查找成员变量的getter方法,如果你命名的其它方法中也是以get的起头的话,就会产生不必要的错误,所以在这里建议给root属性赋上值。
excludeNullProperties 参数:表示是否去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。
1<result type="json">
2 <param name="excludeNullProperties">true</param>
3</result>
2 <param name="excludeNullProperties">true</param>
3</result>
ignoreHierarchy 参数:表示是否忽略等级,也就是继承关系,比如:TestAction继承于BaseAction,那么TestAction中返回的json字符串默认 是不会包含父类BaseAction的属性值,ignoreHierarchy值默认为true,设置为false后会将父类和子类的属性一起返回。
1<result type="json">
2 <param name="ignoreHierarchy">false</param>
3</result>
2 <param name="ignoreHierarchy">false</param>
3</result>
includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
如:输出person的所有属性
1<result type="json">
2 <param name="includeProperties">person.*, person\.name</param>
3</result>
2 <param name="includeProperties">person.*, person\.name</param>
3</result>
相关推荐
总的来说,"struts2+json"资源涉及到了Struts2框架中的Action设计、拦截器机制、结果类型的配置,以及AJAX和JSON在Web应用中的使用。理解这些知识点对于开发动态、交互性强的Java Web应用至关重要。
1. **配置Struts2**:在struts.xml配置文件中,为Action添加JSON结果类型,如`<result type="json">`。 2. **创建Action**:Action类需要返回一个可以被转化为JSON的Java对象,例如一个Map或自定义的JavaBean。 3....
接下来,我们需要在Struts2的配置文件中添加对JSON支持的配置。这通常是在`struts.xml`文件中完成的,通过声明`json-default`包,并且在其中定义结果类型和拦截器。例如: ```xml <package name="json-default" ...
- 插件集成:此插件使得Struts 2可以无缝集成JSON支持,无需额外的配置。 - JSON Action:允许Action返回JSON结果,而不是HTML,这对于AJAX请求非常有用。 - 自动映射:自动将Action的属性映射到JSON对象,简化了...
`struts2-json-plugin`是Struts2的一个插件,它使得Struts2能够处理JSON请求和响应,无需额外的配置或库。这个插件不仅包含了源码,还包含了必要的配置文件和类,使得开发者可以深入理解其工作原理并进行自定义扩展...
首先,要启用Struts2的JSON支持,我们需要在`struts.xml`配置文件中添加一个`constant`标签,设置`struts.enable.JSON`为`true`: ```xml <constant name="struts.enable.SMD" value="true"/> <constant name="...
// 配置Struts2的action,添加<result type="json"/> class="com.yishi.action.JsonAction" method="selectPalbum"> <result type="json"/> ``` 在第二种方式中,Struts2会自动处理返回的`jsonData`属性...
然后,在Struts2的配置文件struts.xml中启用JSON插件,通常通过以下配置实现: ```xml <constant name="struts.enable.SlashesInActionNames" value="true"/> <constant name="struts.action.extension" value=...
在Struts2中,我们可以配置Action类返回JSON类型的结果,这样当客户端(如Android应用)发起请求时,服务器会返回JSON格式的数据。这些数据可以包含对象、数组、字符串、数字等多种类型,非常适合移动设备上的数据...
**AjaxStruts2Json实例详解** 在Web开发中,用户界面的实时性和互动性变得越来越重要,这使得异步更新技术如Ajax(Asynchronous JavaScript and XML)被广泛应用。Ajax允许网页在不重新加载整个页面的情况下与...
导入这些包后,开发者可以按照Struts2的配置方式设置Action,通过`@ResultType("json")`注解或在配置文件中指定`result`类型为`json`,Struts2就会自动将Action的返回值转化为JSON格式并发送到客户端。 在实际开发...
1. **配置Struts2**: 首先,确保你的项目已经引入了Struts2的核心库和JSON插件。在`struts.xml`配置文件中,添加JSON结果类型: ```xml <constant name="struts.enable.SlashesInActionNames" value="true"/> ...
在实际开发中,为了使用这个插件,你需要将`struts2-json-plugin-2.3.8.jar`文件放入项目的类路径(classpath)下,然后在Struts2的配置文件(通常为struts.xml)中启用JSON插件。在Action类中,定义返回JSON数据的...
这篇博客将深入讲解Struts2的JSON插件配置,并通过实例“strutsJson”来演示具体用法。 首先,让我们了解JSON插件的基本配置。在Struts2框架中,我们需要在`struts.xml`配置文件中引入JSON插件的相关配置。这通常...
1. 添加JSON插件到项目的类路径:确保`struts2-json-plugin-x.x.x.jar`在类路径中,并在`struts.xml`配置文件中启用JSON插件。 2. 配置Action:在Action类中,添加`@Result`注解或者在XML配置文件中定义结果类型为`...
在"TestStruts2JSON"程序源码中,可能包含了Action类、struts.xml配置文件、以及其他可能涉及的如JSP或Freemarker模板文件。这些文件共同展示了如何在Struts2框架下构建一个能够生成和处理JSON响应的应用。通过分析...
如果要深入学习,你可以检查这个文件,看看里面是否有关于Struts2 JSON配置或示例代码的更多信息。 总结来说,Struts2与Ext4.0的JSON交互涉及Struts2的JSON插件配置、Action类的JSON返回、以及Ext4.0的Ajax请求和...
在Struts2中使用JSON,首先需要在配置文件(struts.xml)中启用JSON插件,并指定哪些Action支持JSON输出。然后,在Action类中,你可以创建一个返回类型为`Map, Object>`或自定义对象的方法,这个方法将被转换成JSON...
在Struts2中配置JSON是为了让应用程序能够处理和返回JSON格式的数据,这在现代Web应用中非常常见,因为JSON是轻量级且易于解析的数据交换格式。在本文中,我们将深入探讨如何在Struts2中配置JSON支持以及其相关知识...