You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					57 lines
				
				1.7 KiB
			
		
		
			
		
	
	
					57 lines
				
				1.7 KiB
			| 
											3 years ago
										 | package com.ynxbd.wx.config;
 | ||
|  | 
 | ||
|  | import org.apache.commons.beanutils.converters.AbstractConverter;
 | ||
|  | import org.apache.commons.lang3.StringUtils;
 | ||
|  | 
 | ||
|  | import java.time.LocalDateTime;
 | ||
|  | import java.time.format.DateTimeFormatter;
 | ||
|  | 
 | ||
|  | public class MyStringConverter  extends AbstractConverter {
 | ||
|  | 
 | ||
|  |     private String timePattern = "yyyy-MM-dd HH:mm:ss";
 | ||
|  |     private DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(timePattern);
 | ||
|  | 
 | ||
|  |     public MyStringConverter() {
 | ||
|  |         super();
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     public MyStringConverter(String timePattern) {
 | ||
|  |         super();
 | ||
|  |         if (StringUtils.isNotBlank(timePattern) && !this.timePattern.equals(timePattern)) {
 | ||
|  |             this.timePattern = timePattern;
 | ||
|  |             dateTimeFormatter = DateTimeFormatter.ofPattern(timePattern);
 | ||
|  |         }
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     public MyStringConverter(Object defaultValue) {
 | ||
|  |         super(defaultValue);
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     @Override
 | ||
|  |     protected Class<?> getDefaultType() {
 | ||
|  |         return String.class;
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     @Override
 | ||
|  |     protected <T> T convertToType(Class<T> type, Object value) throws Throwable {
 | ||
|  |         // We have to support Object, too, because this class is sometimes
 | ||
|  |         // used for a standard to Object conversion
 | ||
|  |         if (String.class.equals(type) || Object.class.equals(type)) {
 | ||
|  |             return type.cast(value.toString());
 | ||
|  |         }
 | ||
|  |         throw conversionException(type, value);
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * 自己加上
 | ||
|  |      */
 | ||
|  |     @Override
 | ||
|  |     protected String convertToString(Object value) throws Throwable {
 | ||
|  |         if (value.getClass().equals(LocalDateTime.class)) {
 | ||
|  |             return ((LocalDateTime) value).format(dateTimeFormatter);
 | ||
|  |         }
 | ||
|  |         return super.convertToString(value);
 | ||
|  |     }
 | ||
|  | }
 | ||
|  | 
 |