SpringMVC自定义数据转换

将string类型转换为Date类型:

定义一个转换器StringToDate.java:

public class StringToDate implements Converter<String,Date> {
    
    public Date convert(String source) {
        // TODO Auto-generated method stub
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        try {
            return simpleDateFormat.parse(source);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
}

在springmvc.xml文件中进行配置:

<mvc:annotation-driven conversion-service="conversionService"/>
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean class="com.suning.controller.converter.StringToDate"></bean>
        </list>
    </property>
</bean>

编写一个测试的jsp:

<form action="<c:url value="/getInfo"/> " method="post">
    Date:<input type="text" name="date"/>
    <input type="submit" value="submit">
</form>

编写一个调用转换器的Controller:

@RequestMapping("/getInfo")
@ResponseBody
public String getInfo(Date date) {
    return date.toString();
}

完成。

将String类型转换为User类型:

定义一个转换器StringToUser.java(将“1-小明-南京”的字符串转换为User):

public class StringToUser implements Converter<String,User> {
    @Override
    public User convert(String s) {
        String[] strings = s.split("-");
        System.out.println(strings);
        User user = new User();
        user.setUserId(Integer.parseInt(strings[0]));
        user.setUsername(strings[1]);
        user.setAddress(strings[2]);
        return user;
    }
}

在springmvc.xml文件中进行配置:

<mvc:annotation-driven conversion-service="conversionService"/>
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean class="com.suning.controller.converter.StringToUser"></bean>
        </list>
    </property>
</bean>

编写一个测试的jsp:

<form action="<c:url value="/getUserInfo"/> " method="post">
    User:<input type="text" name="user"/>
    <input type="submit" value="submit">
</form>

编写一个调用转换器的Controll:

@RequestMapping("/getUserInfo")
@ResponseBody
public String getUserInfo(User user) {
    return user.toString();
}
 
 
G
M
T
 
 
Detect languageAfrikaansAlbanianAmharicArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CorsicanCroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchFrisianGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHawaiianHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanKurdishKyrgyzLaoLatinLatvianLithuanianLuxembourgishMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPashtoPersianPolishPortuguesePunjabiRomanianRussianSamoanScots GaelicSerbianSesothoShonaSindhiSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshXhosaYiddishYorubaZulu
 
AfrikaansAlbanianAmharicArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CorsicanCroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchFrisianGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHawaiianHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanKurdishKyrgyzLaoLatinLatvianLithuanianLuxembourgishMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPashtoPersianPolishPortuguesePunjabiRomanianRussianSamoanScots GaelicSerbianSesothoShonaSindhiSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshXhosaYiddishYorubaZulu
 
 
 
 
 
 
 
 
 
Text-to-speech function is limited to 200 characters
 
 
Options : History : Feedback : Donate Close

猜你喜欢

转载自blog.csdn.net/qq_32600929/article/details/81286370
今日推荐