方法1 :利用Struts 2的支持的可配置结果,可以达到过滤器的效果。Action的处理结果配置支持正则表达式。
但是如果返回的对象是一个数组格式的Json数据。比如peson Bean中有对象persion1…person9,而我只要person1的json数据, 则可以用如下的正则表达式。
<struts> <constant name="struts.objectFactory" value="spring"/> <include file="struts-admin.xml"></include> <package name="default" extends="json-default"> <action name="person" class="com.person.PersonAction" method="view"> <result type="json"> <param name="includeProperties"> person/[/d+/]/.person1 </param>> </result> </action> </package> </struts>
excludeProperties拦截器的用法与此类同,如果拦截的仅仅是一个对象,如果拦截掉person Bean的整个对象。
<struts> <constant name="struts.objectFactory" value="spring"/> <include file="struts-admin.xml"></include> <package name="default" extends="json-default"> <action name="person" class="com.person.PersonAction" method="view"> <result type="json"> <param name="excludeProperties"> person </param>> </result> </action> </package> </struts>
方法2:需要注意的是,如果用JSON插件把返回结果定为JSON。而JSON的原理是在ACTION中的get方法都会序列化
所以前面是get的方法只要没指定不序列化,都会执行。 如果该方法一定要命名为get*(比如实现了什么接口), 那么可以在该方法的前面加注解声明该方法不做序列化。
注解的方式为:@JSON(serialize=false)
除此之外,JSON注释还支持如下几个域:
//使用注释语法来改变该属性序列化后的属性名 @JSON(name="newName") public String getName() { return this.name; }
需要引入 import org.apache.struts2.json.annotations.JSON;
@JSON(serialize=false) public User getUser() { return this.User; } @JSON(format="yyyy-MM-dd") public Date getStartDate() { return this.startDate; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍详解vue beforeEach 死循环问题解决方法,包括了详解vue beforeEach 死循环问题解决方法的使用技巧和注意事项,需要的朋友参考一下 什么是beforeEach? beforeEach 是一个vue-router的路由导航钩子,一般我用它做路由守卫。 什么是路由守卫? 路由跳转前做一些验证,比如登录验证,是网站中的普遍需求。对此,vue-route 提供的befo
问题内容: 如果我从json.net获得序列化的JSON,如下所示: 我想让淘汰赛在FooList上输出foreach,但是我不确定如何继续,因为$ ref东西可能会抛出东西。 我在想解决方案将以某种方式通过不使用以下方式强制将所有Foos呈现在FooList中: 但这似乎很浪费。 问题答案: 从服务器接收的json对象包含循环引用。在使用对象之前,您必须首先 从对象中删除所有属性,这意味着`$r
本文向大家介绍iOS NSTimer循环引用的几种解决办法,包括了iOS NSTimer循环引用的几种解决办法的使用技巧和注意事项,需要的朋友参考一下 发生场景 在 Controller B 中有一个 NSTimer 你创建了它,并挂载到 main runloop 然后退出 Controller B 的时候,忘记关掉 timer 了 Controller B 将不会释放,B 与 timer 循环引
本文向大家介绍详解在springmvc中解决FastJson循环引用的问题,包括了详解在springmvc中解决FastJson循环引用的问题的使用技巧和注意事项,需要的朋友参考一下 我们先来看一个例子: 输出: 可以看到,这个json如果发到前端是无法使用的,幸好FastJson提供了解决办法,我们来看下,解决办法为禁用循环引用检测,代码如下: 输出如下: 问题是如果我们在spring mvc中
本文向大家介绍iOS如何巧妙解决NSTimer的循环引用详解,包括了iOS如何巧妙解决NSTimer的循环引用详解的使用技巧和注意事项,需要的朋友参考一下 一 发现问题 我们都知道NSTimer采用target-action的方式,通常target又是类本身,我们为了方便又把NSTimer声明为属性变量,这样就难免会造成循环引用(需要反复执行计时任务时,如果是单次的任务就不会造成循环引用)。 例如
问题内容: 有岗位这里,询问如何通过返回EF4CTP5序列化对象时,解决循环引用错误。不久前,我在WCF Web表单项目中遇到了同样的问题。 我能够在WCF / Web窗体项目和MVC3项目中“解决”此问题。我认为什么类型的项目都不重要,因为这似乎是EF序列化的“事物”。 我通过在ObjectContext构造函数中禁用ProxyCreation来解决此问题,如下所示: 我的问题是:有人可以解释为