java spring mvc 定义接口属性为什么是null
1个回答
展开全部
springmvc属性编辑器:
对于日期类型的属性转换通过注入属性编辑器。
可以在action类中通过@Binder注解注册属性编辑器。
通过自定义属性编辑类方法,定义属性编辑器。
定义方法:
需要实现implements Converter<String, java.util.Date>
String就是原始类型
java.util.Date就是目标类型
目标:
将页面输入的开始采购时间cjtime_start(原始类型),向YycgdCustom类中java.util.Datecjtime_start属性(目标类型)赋值,需要将原始类型字符类型转成日期java.util.Date。
注意 :属性编辑器中目标类型和对象中属性类型一致。
接口方法:
public Date convert(String source) {
如果原始类型转换目标类型成功,通过return 向对象的属性赋值。
如果原始类型转换目标类型不成功,通过return 向对象的属性赋值为null.
日期类型转换的属性编辑器:
public class DateConverter implements Converter<String, Date> {
public Date convert(String source) {
if(source != null){//如果从浏览器传入字符串不等于开始转换
source = source.trim();//去除前后空格
if(source.equals("")){
source = null;
}
if(source!=null){//去除空格后不为空则开始转换
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
return simpleDateFormat.parse(source);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
}
return null;
}
}
对于日期类型的属性转换通过注入属性编辑器。
可以在action类中通过@Binder注解注册属性编辑器。
通过自定义属性编辑类方法,定义属性编辑器。
定义方法:
需要实现implements Converter<String, java.util.Date>
String就是原始类型
java.util.Date就是目标类型
目标:
将页面输入的开始采购时间cjtime_start(原始类型),向YycgdCustom类中java.util.Datecjtime_start属性(目标类型)赋值,需要将原始类型字符类型转成日期java.util.Date。
注意 :属性编辑器中目标类型和对象中属性类型一致。
接口方法:
public Date convert(String source) {
如果原始类型转换目标类型成功,通过return 向对象的属性赋值。
如果原始类型转换目标类型不成功,通过return 向对象的属性赋值为null.
日期类型转换的属性编辑器:
public class DateConverter implements Converter<String, Date> {
public Date convert(String source) {
if(source != null){//如果从浏览器传入字符串不等于开始转换
source = source.trim();//去除前后空格
if(source.equals("")){
source = null;
}
if(source!=null){//去除空格后不为空则开始转换
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
return simpleDateFormat.parse(source);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
}
return null;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询