之前用过一次,但今天用的时候出现了新的问题!
配置仍然不变
<?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变成空字符串,内含截图,及jar包
spring+mybatis下BLOB字段的图片存取代码,仅整理了Controller层的代码,service和dao的代码很简单,所以没有整理
浅谈 Spring 原理 透析,ioc aop
spring mvc 过滤器,实现url过滤,权限模块经常用到的,很不错
spring-boot 过滤器 filter spring-boot 过滤器 filter
NULL 博文链接:https://sosuny.iteye.com/blog/446112
springBoot-java敏感词语过滤类
NULL 博文链接:https://xpninja.iteye.com/blog/1138916
springcloud gateway 自定义全局过滤器
浅谈Spring+Hibernate整合(共16页).doc
springboot 处理返回结果中字段为空或为null,不展示字段的问题(字段展示不全),给为空字段初始化值,如:字符串null转换为"
主要介绍了Spring Security 过滤器链的机制和特性,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
本视频从基础讲起,对spring初学者的帮助还是比较大的
spring security 4 小例子带自定义过滤器
本demo为Spring boot整合shiro,以mybatis plus做dao层交互数据,实现了读取数据库用户数据实现用户登录,权限认证,读取数据库中用户对应的url请求,实现请求的过滤。自定义了relam和过滤器来实现这些功能
允许将任何字段都标记为@Encrypted以进行逐字段加密。 产品特点 透明地集成到spring-data-mongodb 支持嵌套的集合,地图和bean 高性能(无反射,优化了加密) 密钥版本控制(以帮助迁移到新密钥而无需转换数据)...
spring-boot深入浅出PDF电子版,自带目录,内容清晰。
SpringSecurity入门到进阶到高级,是我们老师给我们讲课用的,我们都照着配就没有问题,可以跑通,