之前用过一次,但今天用的时候出现了新的问题!
配置仍然不变
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"
default-lazy-init="true">
<bean name="jsonWriter" class="org.springframework.web.servlet.view.json.writer.sojo.SojoJsonStringWriter">
<property name="enableJsonConfigSupport" value="true"/>
<!-- 打开map转换,嵌套转换 -->
<property name="convertAllMapValues" value="true"/>
</bean>
<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView">
<property name="jsonWriter" ref="jsonWriter"/>
</bean>
</beans>
代码含义解析
//日期转换问题
@InitBinder
public void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
binder.registerCustomEditor(Date.class,new CustomDateEditor(format, true));
JsonWriterConfiguratorTemplateRegistry registry = JsonWriterConfiguratorTemplateRegistry.load(request);
registry.registerConfiguratorTemplate(new SojoJsonWriterConfiguratorTemplate()
{
@Override
public SojoConfig getJsonConfig() {
SojoConfig config = new SojoConfig();
//String[] excludes1 = {"allCategories","role","password"};
//String[] excludes2 = {"role","password"};
config.setExcludedProperties(excludes1);
return config;
}
});
}
首先,这里我对bean中的日期进行了格式化,其次要需要过滤一些字段!
注意:this.getHibernateTemplate().find(from User);
这样的语句会把user全部查询出来,并得到一个集合,这时如果使用excludes2,将会把role和password两个字段过滤掉。
第二种情况,this.getHibernateTemplate().find(from User);我也得到一个List,但是我又将这个list保存到一个Map.put("allCategories",list);然后将这个Map返回到控制层,控制层又将这个返回的map放进另外一个Map后返回jsonView,这样使用excludes2,你会发现数据根本没有过滤掉,不要着急!!淡定
因为spring默认只处理一层数据,至于我刚才说的是2层了,所以没有过滤掉,换成excludes1就ok了,原因是第一个allCategories搜索到后找平级的role和password没有找到,但是发现还有一曾,在进入下一层的时候发现ok找到了!!!
时间关系,有问题请留言讨论
分享到:
相关推荐
FilterChainProxy会按顺序来调用这些filter,使这些filter能享用Spring Ioc的功能, CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON 定义url比较前先转为小写 PATTERN_TYPE_APACHE_ANT 定义使用Apache ant的匹配模式
在Spring MVC框架中,我们经常需要处理JSON数据,这些数据可能包含null值。在某些情况下,为了保持数据的整洁和避免后端处理null值时出现异常,我们需要在数据传输前过滤掉这些null值。本教程将详细介绍如何使用...
本项目适用于基于SSM(Spring、SpringMVC、MyBatis)和SpringBoot框架的项目,提供了一种灵活的方式来进行指定字段的敏感词过滤。 首先,我们需要理解什么是敏感词过滤。敏感词过滤,又称为关键词屏蔽,是通过对比...
在Spring Boot应用中,开发人员经常需要处理文本内容,其中包括检查和过滤可能存在的敏感词语。这个"springBoot-java敏感词语过滤类"是一个实用的工具类,用于帮助开发者实现在Java环境中对用户输入或者系统文本进行...
本篇文章将深入探讨如何在Spring中有效地操作LOB字段,以实现对大数据的管理。 首先,我们需要一个数据访问层,例如`PostJdbcDao2.java`,在这个类中,我们将定义用于处理LOB字段的方法。Spring JDBC Template是...
spring+mybatis下BLOB字段的图片存取代码,仅整理了Controller层的代码,service和dao的代码很简单,所以没有整理
在实际应用中,有时我们需要根据业务需求,对返回给客户端的JSON数据进行筛选,隐藏或过滤掉某些敏感或不需展示的字段。"Json字段过滤器"就是解决这类问题的一种技术手段。 实现JSON字段过滤通常有两种方式:一种是...
该源码对应个人博客【Spring Boot中整合Jasypt 使用自定义注解+AOP实现敏感字段的加解密】教程的相关源码,小伙伴可以自行下载学习!不需要积分!不需要积分!不需要积分! 如果相关资源对您有所帮助,希望一键三连...
浅谈Spring常用注解 浅谈Spring常用注解是Spring框架中的一些基本概念,了解这些概念对于 MASTERING SPRING Framework非常重要。本文将对Spring中常用的注解进行分类和介绍,并对每个注解的使用进行解释。 一、...
在 Spring Security 中,过滤器链的机制可以分为两个部分:客户端(APP 和后台管理客户端)向应用程序发送请求,然后应用根据请求的 URI 的路径来确定该请求的过滤器链(Filter)以及最终的具体 Servlet 控制器...
基于Spring Boot框架的字段拦截处理系统是一个用于处理业务系统中胶水逻辑代码的项目。它通过领域驱动设计(DDD)思想,整理和组织业务逻辑,将领域对象的组织胶水代码解脱出来,实现依赖倒置。该系统支持业务提供者...
在Spring Boot应用中,过滤器(Filter)是用于处理HTTP请求和响应的重要组件。它们允许我们在请求被实际处理之前或之后进行拦截,从而实现诸如日志记录、安全控制、字符编码转换等多种功能。本篇文章将深入探讨...
spring mvc 过滤器,实现url过滤,权限模块经常用到的,很不错
在Spring Cloud生态中,Spring Cloud Gateway作为微服务架构中的API网关,负责路由转发、请求过滤等功能。本文将深入探讨如何在Spring Cloud Gateway中自定义全局过滤器。 首先,我们需要了解Spring Cloud Gateway...
浅谈 Spring 原理 透析,IOC 和 AOP Spring 框架是一个从实际项目开发经验中抽取的,可高度重用的应用框架。它是一个轻量级容器,带有包装器,使许多不同的服务和框架更易于使用。轻量级容器接受任何 JavaBean,而...
总之,通过利用Jackson的序列化功能,我们可以轻松地在Spring MVC中实现JSON数据的脱敏,确保敏感信息不被泄露,同时保持了良好的代码可读性和维护性。在实际项目中,还应注意根据业务需求灵活调整脱敏策略,以达到...
在Spring Security 4中,我们可以通过自定义过滤器来扩展其功能,以满足特定的安全需求。在这个小例子中,我们将探讨如何创建并集成自定义过滤器,以及它在Spring Security中的工作原理。 首先,我们需要理解Spring...
《深入浅出学Spring》这一教学视频为Spring框架的学习提供了详尽且易懂的指导,尤其适合初学者。Spring框架是Java平台上的一个开源框架,它提供了一种全面的基础架构支持,让Java开发者能够开发出更为简洁、高效的...
Spring Security架构中的角色表在权限模型中起到了核心作用。角色表用于连接用户与权限、菜单,因为一个用户可以有多个角色,一个角色也可以关联多个权限和菜单,而一个权限或菜单也可以被多个角色共享。这种多对多...
以上四个过滤器是Spring Security中比较关键的部分,它们分别处理了用户会话的初始化、注销、登录验证以及默认登录页面的生成。除了这四个,还有其他的过滤器,如ChannelProcessingFilter(处理HTTP和HTTPS切换)、...