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

Java Spring MVC

2016-07-24 19:41 483 查看
Spring MVC的实现包括 实现Controller类和基于注解的Controller RequstMapping方式

依赖:

public class StringToDateConverter implements Converter<String, Date> {
public Date convert(String dateString) {
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datePattern);
simpleDateFormat.setLenient(false);
return simpleDateFormat.parse(dateString);
}
catch (ParseException exception){
throw new IllegalArgumentException("Invalid date formate"+ datePattern);
}
}

private String datePattern;

public StringToDateConverter(String _datePattern) {
datePattern=_datePattern;
}
}


View Code
<form:errors path="publishTime" cssClass="error"></form:errors>
<label for="publishTime">PublishTime:</label>
<form:input path="publishTime" id="publishTimes" type="text"></form:input>

这里Input输入的是字符串,但是因为Converter的存在会自动实现字符串转成目标(Path=publishTime在Model中的属性被定义成 Date类型)类型。

前提是Converter必须在 configure文件中注册了

<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="Formatters.StringToDateConverter">
<constructor-arg type="java.lang.String" value="MM-dd-yyyy"></constructor-arg>
</bean>
</set>
</property>
</bean>
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>


2. Formatter: 作用和Converter相同,但是 元数据类型只能是String.

public interface Formatter<T> extends Printer<T>, Parser<T> {
}


另外 Formatter的注册方式如下

<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="formatters">
<set>
<bean class="Formatters.StringToDateConverter">
<constructor-arg type="java.lang.String" value="MM-dd-yyyy"></constructor-arg>
</bean>
</set>
</property>
</bean>
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: