您的位置:首页 > 编程语言 > Java开发

SpringMVC数据绑定大全

2016-05-05 10:32 447 查看
查看spring源码可以看出spring支持转换的数据类型已经很多了.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
/**
* Actually register the default editors for this registry instance.
*/
private
void
doRegisterDefaultEditors() {
   
this
.defaultEditors =
new
HashMap<Class,PropertyEditor>(
64
);
   
// Simple editors,without parameterization capabilities.
   
// The JDK does not contain a default editor for any of these target types.
   
this
.defaultEditors.put(Charset.
class
,
new
CharsetEditor());
   
this
.defaultEditors.put(Class.
class
,
new
ClassEditor());
   
this
.defaultEditors.put(Class[].
class
,
new
ClassArrayEditor());
   
this
.defaultEditors.put(Currency.
class
,
new
CurrencyEditor());
   
this
.defaultEditors.put(File.
class
,
new
FileEditor());
   
this
.defaultEditors.put(InputStream.
class
,
new
InputStreamEditor());
   
this
.defaultEditors.put(Locale.
class
,
new
LocaleEditor());
   
this
.defaultEditors.put(Pattern.
class
,
new
PatternEditor());
   
this
.defaultEditors.put(Properties.
class
,
new
PropertiesEditor());
   
this
.defaultEditors.put(Resource[].
class
,
new
ResourceArrayPropertyEditor());
   
this
.defaultEditors.put(TimeZone.
class
,
new
TimeZoneEditor());
   
this
.defaultEditors.put(URI.
class
,
new
URIEditor());
   
this
.defaultEditors.put(URL.
class
,
new
URLEditor());
   
// Default instances of collection editors.
   
// Can be overridden by registering custom instances of those as custom editors.
   
this
.defaultEditors.put(Collection.
class
,
new
CustomCollectionEditor(Collection.
class
));
   
this
.defaultEditors.put(Set.
class
,
new
CustomCollectionEditor(Set.
class
));
   
this
.defaultEditors.put(SortedSet.
class
,
new
CustomCollectionEditor(SortedSet.
class
));
   
this
.defaultEditors.put(List.
class
,
new
CustomCollectionEditor(List.
class
));
   
this
.defaultEditors.put(SortedMap.
class
,
new
CustomMapEditor(SortedMap.
class
));
   
// Default editors for primitive arrays.
   
this
.defaultEditors.put(
byte
[].
class
,
new
ByteArrayPropertyEditor());
   
this
.defaultEditors.put(
char
[].
class
,
new
CharArrayPropertyEditor());
   
// The JDK does not contain a default editor for char!
   
this
.defaultEditors.put(
char
.
class
,
new
CharacterEditor(
false
));
   
this
.defaultEditors.put(Character.
class
,
new
CharacterEditor(
true
));
   
// Spring's CustomBooleanEditor accepts more flag values than the JDK's default editor.
   
this
.defaultEditors.put(
boolean
.
class
,
new
CustomBooleanEditor(
false
));
   
this
.defaultEditors.put(Boolean.
class
,
new
CustomBooleanEditor(
true
));
   
// The JDK does not contain default editors for number wrapper types!
   
// Override JDK primitive number editors with our own CustomNumberEditor.
   
this
.defaultEditors.put(
byte
.
class
,
new
CustomNumberEditor(Byte.
class
,
false
));
   
this
.defaultEditors.put(Byte.
class
,
new
CustomNumberEditor(Byte.
class
,
true
));
   
this
.defaultEditors.put(
short
.
class
,
new
CustomNumberEditor(Short.
class
,
false
));
   
this
.defaultEditors.put(Short.
class
,
new
CustomNumberEditor(Short.
class
,
true
));
   
this
.defaultEditors.put(
int
.
class
,
new
CustomNumberEditor(Integer.
class
,
false
));
   
this
.defaultEditors.put(Integer.
class
,
new
CustomNumberEditor(Integer.
class
,
true
));
   
this
.defaultEditors.put(
long
.
class
,
new
CustomNumberEditor(Long.
class
,
false
));
   
this
.defaultEditors.put(Long.
class
,
new
CustomNumberEditor(Long.
class
,
true
));
   
this
.defaultEditors.put(
float
.
class
,
new
CustomNumberEditor(Float.
class
,
false
));
   
this
.defaultEditors.put(Float.
class
,
new
CustomNumberEditor(Float.
class
,
true
));
   
this
.defaultEditors.put(
double
.
class
,
new
CustomNumberEditor(Double.
class
,
false
));
   
this
.defaultEditors.put(Double.
class
,
new
CustomNumberEditor(Double.
class
,
true
));
   
this
.defaultEditors.put(BigDecimal.
class
,
new
CustomNumberEditor(BigDecimal.
class
,
true
));
   
this
.defaultEditors.put(BigInteger.
class
,
new
CustomNumberEditor(BigInteger.
class
,
true
));
   
// Only register config value editors if explicitly requested.
   
if
(
this
.configValueEditorsActive) {
  
StringArrayPropertyEditor sae =
new
StringArrayPropertyEditor();
  
this
.defaultEditors.put(String[].
class
,sae);
  
this
.defaultEditors.put(
short
[].
class
,sae);
  
this
.defaultEditors.put(
int
[].
class
,sae);
  
this
.defaultEditors.put(
long
[].
class
,sae);
   
}
}
来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring false border