詳解SpringMVC 自動(dòng)封裝枚舉類的方法
springmvc默認(rèn)無法自動(dòng)封裝枚舉類,解決方法如下:
1.枚舉類
public enum GoodsPromoteEnum {
/**
* 0 精品
*/
fine("精品",0),
/**
* 1 限時(shí)購(gòu)
*/
limit("限時(shí)購(gòu)",1),
/**
* 2 特價(jià)
*/
cheap("特價(jià)",2);
private String value;
private int index;
private GoodsPromoteEnum(String value, int index) {
this.value = value;
this.index = index;
}
public static GoodsPromoteEnum get(String value){
for (GoodsPromoteEnum p : GoodsPromoteEnum.values()) {
if (p.getValue().equals(value)) {
return p;
}
}
return null;
}
public static GoodsPromoteEnum get(int index){
for (GoodsPromoteEnum p : GoodsPromoteEnum.values()) {
if (p.getIndex() == index) {
return p;
}
}
return null;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
2.編寫自定義處理類,繼承Converter接口
public class StringToGoodsConverter implements Converter<String, GoodsPromoteEnum> {
@Override
public GoodsPromoteEnum convert(String value) {
if (StringUtils.isBlank(value)) {
return null;
}
return GoodsPromoteEnum.get(value);
}
}
3.在springmvc配置文件里配置
<!--自定義枚舉類封裝 -->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.tentcoo.zbh.util.StringToGoodsConverter" />
</set>
</property>
</bean>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot實(shí)現(xiàn)ImportBeanDefinitionRegistrar動(dòng)態(tài)注入
在閱讀Spring Boot源碼時(shí),看到Spring Boot中大量使用ImportBeanDefinitionRegistrar來實(shí)現(xiàn)Bean的動(dòng)態(tài)注入,它是Spring中一個(gè)強(qiáng)大的擴(kuò)展接口,本文就來詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2024-02-02
設(shè)計(jì)模式之模版方法模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了設(shè)計(jì)模式之模版方法模式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
Springboot整合hutool驗(yàn)證碼的實(shí)例代碼
在 Spring Boot 中,你可以將 Hutool 生成驗(yàn)證碼的功能集成到 RESTful API 接口中,這篇文章主要介紹了Springboot整合hutool驗(yàn)證碼,需要的朋友可以參考下2024-08-08
關(guān)于SpringBoot改動(dòng)后0.03秒啟動(dòng)的問題
這篇文章主要介紹了SpringBoot改動(dòng)后0.03秒啟動(dòng),本文結(jié)合示例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
java中以DES的方式實(shí)現(xiàn)對(duì)稱加密并提供密鑰的實(shí)例
這篇文章主要介紹了java中以DES的方式實(shí)現(xiàn)對(duì)稱加密并提供密鑰的實(shí)例的相關(guān)資料,這里提供實(shí)例幫助大家學(xué)習(xí)理解這部分知識(shí),需要的朋友可以參考下2017-08-08
如何在maven本地倉(cāng)庫(kù)中添加oracle的jdbc驅(qū)動(dòng)
文章介紹了在Maven項(xiàng)目中添加Oracle數(shù)據(jù)庫(kù)驅(qū)動(dòng)ojdbc5時(shí)遇到的問題以及解決問題的兩種方法,方法一為簡(jiǎn)單粗暴,但沒有體現(xiàn)Maven倉(cāng)庫(kù)的作用,需要手動(dòng)管理jar包,方法二為在Maven本地倉(cāng)庫(kù)中添加Oracle的JDBC驅(qū)動(dòng),過程較為繁瑣,但配置一次后可以多次使用2024-11-11

