欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Springboot自定義轉(zhuǎn)換器實現(xiàn)參數(shù)去空格功能

 更新時間:2021年08月14日 11:58:27   作者:CherishLy0  
這篇文章主要介紹了使用Springboot自定義轉(zhuǎn)換器實現(xiàn)參數(shù)去空格功能,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

自定義轉(zhuǎn)換器實現(xiàn)參數(shù)去空格

1.自定義轉(zhuǎn)換器類

實現(xiàn)Converter<S, T>類,重寫convert()方法,直接上代碼。

/**
* 自定義轉(zhuǎn)換器
* 去掉前后空格
* @author liuy
* @version 2018年11月13日 
*/
public class CustomConverter implements Converter<String, String>{
 @Override
 public String convert(String source) {
  try {
   if(source != null){
    source = source.trim();
    if(!"".equals(source)){
     return source;
    }
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return null;
 }
}

2.將轉(zhuǎn)換器交給spring容器處理

@Configuration
public class SpringdataConvert {
 @Autowired 
 private RequestMappingHandlerAdapter requestMappingHandlerAdapter;
 
 @PostConstruct
 public void addConversionConfig(){
  ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) requestMappingHandlerAdapter.getWebBindingInitializer();
  if(initializer.getConversionService()!=null){
   GenericConversionService genericConversionService =(GenericConversionService) initializer.getConversionService();
   genericConversionService.addConverter(new CustomConverter());
  }
 }
}

SpringBoot請求參數(shù)過濾空格

1、參數(shù)修改SpaceHttpServletRequestWrapper

public class SpaceHttpServletRequestWrapper extends HttpServletRequestWrapper {
    public SpaceHttpServletRequestWrapper(HttpServletRequest servletRequest) {
        super(servletRequest);
    }
    @Override
    public String[] getParameterValues(String parameter) {
        String[] values = super.getParameterValues(parameter);
        if (values == null) {
            return new String[0];
        }
        int count = values.length;
        String[] encodedValues = new String[count];
        for (int i = 0; i < count; i++) {
            encodedValues[i] = values[i].trim();
        }
        return encodedValues;
    }
    @Override
    public String getParameter(String parameter) {
        String value = super.getParameter(parameter);
        if (value == null) {
            return null;
        }
        return value.trim();
    }
}

2、空格過濾器

public class SpaceFilter implements Filter {
    private FilterConfig filterConfig;
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        this.filterConfig = filterConfig;
    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws
            IOException, ServletException {
        filterChain.doFilter(new SpaceHttpServletRequestWrapper(
                (HttpServletRequest) servletRequest), servletResponse);
    }
    @Override
    public void destroy() {
        this.filterConfig = null;
    }
}

3、過濾器初始化

@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
    @Bean
    public FilterRegistrationBean spaceFilter() {
        FilterRegistrationBean fitler = new FilterRegistrationBean();
        fitler.setFilter(new SpaceFilter());
        fitler.addUrlPatterns("/*");
        fitler.setName("SpaceFilter");
        fitler.setDispatcherTypes(DispatcherType.REQUEST);
        return fitler;
    }
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis-Plus簡介和快速入門教程

    MyBatis-Plus簡介和快速入門教程

    MyBatis-Plus是一個MyBatis的增強工具,在MyBatis的基礎(chǔ)上只做增強不做修改,為簡化開發(fā)、提高效率而生,本文給大家介紹MyBatis-Plus簡介和快速入門教程,需要的朋友參考下吧
    2021-09-09
  • SpringBoot框架底層原理解析

    SpringBoot框架底層原理解析

    這篇文章主要介紹了SpringBoot底層原理,包括配置優(yōu)先級的配置方式給大家講解的非常詳細,需要的朋友可以參考下
    2024-03-03
  • Action訪問Servlet的API的簡單實例

    Action訪問Servlet的API的簡單實例

    下面小編就為大家?guī)硪黄狝ction訪問Servlet的API的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 全面匯總SpringBoot和SpringClould常用注解

    全面匯總SpringBoot和SpringClould常用注解

    Java注解是附加在代碼中的一些元信息,用于一些工具在編譯、運行時進行解析和使用,起到說明、配置的功能,這篇文章就帶你來了解一下
    2021-08-08
  • Java接口和抽象類的區(qū)別深入剖析

    Java接口和抽象類的區(qū)別深入剖析

    這篇文章主要介紹了Java接口和抽象類的區(qū)別,對于Java的初學(xué)者來說是需要準(zhǔn)確掌握的概念!
    2014-07-07
  • Java測試框架Mockito的簡明教程

    Java測試框架Mockito的簡明教程

    這篇文章主要介紹了Java測試框架Mockito的簡明教程,Mock 測試是單元測試的重要方法之一。本文介紹了基于 Java 語言的 Mock 測試框架 – Mockito 的使用。,需要的朋友可以參考下
    2019-06-06
  • SpringBoot整合Spring Batch示例代碼

    SpringBoot整合Spring Batch示例代碼

    這篇文章主要來和大家一起探討一下SpringBoot如何整合Spring Batch,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • java解析Excel/導(dǎo)入信息到Excel方式

    java解析Excel/導(dǎo)入信息到Excel方式

    這篇文章主要介紹了java解析Excel/導(dǎo)入信息到Excel方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java中文件管理系統(tǒng)FastDFS詳解

    Java中文件管理系統(tǒng)FastDFS詳解

    這篇文章主要介紹了Java中文件管理系統(tǒng)FastDFS詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java排序算法之選擇排序

    Java排序算法之選擇排序

    這篇文章主要介紹了Java排序算法之選擇排序,文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05

最新評論