`
erichua
  • 浏览: 516423 次
  • 性别: Icon_minigender_2
  • 来自: 远方
社区版块
存档分类
最新评论

Spring JsonView--对输出对象属性的过滤

阅读更多
由于Spring中的对象可以获取子对象,但json输出的时候会一股脑全部输出。默认的sojo还问题不大,因为它只输出一层。而jsonlib可能就要报错了。
还好spring jsonView中提供了属性过滤的功能。
1.在xml中明确使用JsonConfigSupport
<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView">
		<property name="jsonWriter">
			<ref bean="sojoJsonWriter" />
		</property>
		<property name="jsonErrors">
			<list>
				<ref bean="statusError" />
				<ref bean="modelflagError" />
			</list>
		</property>
	</bean>
	<bean name="sojoJsonWriter"
		class="org.springframework.web.servlet.view.json.writer.sojo.SojoJsonStringWriter">
		[color=red]<property name="enableJsonConfigSupport">
			<value>true</value>
		</property>[/color]
	</bean>

2.在代码中加入绑定
@InitBinder
	protected void initBinder(HttpServletRequest request,
			ServletRequestDataBinder binder) throws Exception {
		JsonWriterConfiguratorTemplateRegistry registry = JsonWriterConfiguratorTemplateRegistry
				.load(request);
		registry
				.registerConfiguratorTemplate(new SojoJsonWriterConfiguratorTemplate() {

					@Override
					public SojoConfig getJsonConfig() {
						
						SojoConfig config = new SojoConfig();
						String[] excludes ={"roles"};
						config.setExcludedProperties(excludes);

						return config;
						
					}
				});
	}

这样就可以了。jsonlib的差不多。
分享到:
评论

相关推荐

    sturts框架下返回json数据 list map 对象

    4. **返回JSON数据**:在Action的方法执行完毕后,由于配置了`json`结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给客户端。如果需要自定义JSON输出,可以通过`@ResultType`注解指定特定的JSON结果...

    ssh整合中的jsonjar包

    4. **模型对象的序列化**:为了将Java对象转换为JSON,你需要确保对象的所有属性都支持getter和setter方法,这样JSON库才能正确地序列化和反序列化对象。 5. **安全考虑**:在处理JSON数据时,要注意防止JSON注入...

    SSH整合所需的JAR包

    Spring的JAR包包括核心容器(如spring-context、spring-beans)、数据访问/集成(如spring-jdbc、spring-tx)、Web支持(如spring-web、spring-webmvc)等模块。在SSH整合中,主要依赖的是Spring的IoC容器和AOP功能...

    struts2+json

    Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中广泛使用,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输。当我们在Struts2框架中整合SSH...

    struts-2.1.0-lib

    - `ognl.jar`:Object-Graph Navigation Language,用于表达对象属性的访问和操作,是Struts 2中的主要表达式语言。 - `freemarker.jar`:FreeMarker是一个模板引擎,用于生成动态HTML、XML或其他格式的文本输出,...

    struts2需要用的包

    - **struts2-spring-plugin.jar**:整合Spring框架,实现依赖注入,管理Action和Service等对象。 3. **依赖的库** - **ognl.jar**:Object-Graph Navigation Language,用于表达式语言,支持Action属性与视图层的...

    Struts2需要的jar基本包

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它极大地简化了在Java EE平台上构建动态Web应用的过程。在Java社区中,Struts2是广受欢迎的框架之一,因其强大的功能和灵活性而受到...

    struts2jar包

    7. **ognl.jar**:Object-Graph Navigation Language(OGNL)是Struts2中使用的表达式语言,用于访问和操作对象属性。 8. **freemarker.jar** 和 **struts2-freemarker-plugin.jar**:Freemarker是一个模板引擎,...

    jsp项目开发源代码

    - EL简化了JSP中的表达式,提供了简洁的语法来访问JSP作用域中的对象属性。 - JSTL是一组标准标签库,如`fmt`(格式化)、`c`(条件和循环)、`sql`(数据库操作)等,用于增强JSP的功能和可读性。 5. **MVC...

    struts2所需jar包

    它基于Model-View-Controller(MVC)设计模式,提供了一种组织应用程序代码的结构,并简化了开发过程。Struts2的核心功能依赖于一系列的JAR(Java Archive)文件,这些文件包含了框架的各种组件和服务。下面将详细...

    struts2源代码

    - `ValueStack`:Struts2使用ValueStack来管理模型对象,视图可以直接通过OGNL访问栈顶的对象属性。 6. **过滤器Dispatcher**: - Struts2的入口点是`org.apache.struts2.dispatcher.FilterDispatcher`(在新版本...

    struts2介绍及应用

    - **Value Stack**:值栈是Struts2用于存储Action属性和模型对象的地方,它可以简化视图层的数据传递。 - **Freemarker / JSP**:Struts2支持使用FreeMarker或JSP作为视图技术,方便快速地创建动态页面。 2. **...

    Java学习笔记-个人整理的

    {12.22}view}{187}{section.12.22} {12.23}index, rowid}{187}{section.12.23} {12.24}sequence}{189}{section.12.24} {12.25}PL/SQL}{189}{section.12.25} {13}JDBC}{191}{chapter.13} {13.1}forName}{191}{...

    java web 毕业设计

    学习Java的基础语法、类、对象、接口、异常处理、多线程和输入输出流等是设计Java Web项目的前提。 2. **Servlet与JSP**:Servlet是Java EE中用于处理HTTP请求的服务端组件,而JSP(JavaServer Pages)则是一种动态...

    springboot 返回给前端不必要的字段如何处理

    2. `@JsonView`注解:如果你的API需要服务于不同类型的客户端,可以定义不同的视图(Views),并在序列化时指定要使用的视图,以控制哪些字段应被包含。 3. 自定义`JsonSerializer`和`JsonDeserializer`:当标准的...

    JAVA上百实例源码以及开源项目源代码

    关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

Global site tag (gtag.js) - Google Analytics