springmvc默认无法自动封装枚举类,解决方法如下:

1.枚举类

  1. public enum GoodsPromoteEnum {
  2.  
  3. /**
  4. * 0 精品
  5. */
  6. fine("精品",0),
  7. /**
  8. * 1 限时购
  9. */
  10. limit("限时购",1),
  11. /**
  12. * 2 特价
  13. */
  14. cheap("特价",2);
  15.  
  16. private String value;
  17.  
  18. private int index;
  19.  
  20. private GoodsPromoteEnum(String value, int index) {
  21. this.value = value;
  22. this.index = index;
  23. }
  24.  
  25. public static GoodsPromoteEnum get(String value){
  26. for (GoodsPromoteEnum p : GoodsPromoteEnum.values()) {
  27. if (p.getValue().equals(value)) {
  28. return p;
  29. }
  30. }
  31. return null;
  32. }
  33.  
  34. public static GoodsPromoteEnum get(int index){
  35. for (GoodsPromoteEnum p : GoodsPromoteEnum.values()) {
  36. if (p.getIndex() == index) {
  37. return p;
  38. }
  39. }
  40. return null;
  41. }
  42.  
  43. public String getValue() {
  44. return value;
  45. }
  46.  
  47. public void setValue(String value) {
  48. this.value = value;
  49. }
  50.  
  51. public int getIndex() {
  52. return index;
  53. }
  54.  
  55. public void setIndex(int index) {
  56. this.index = index;
  57. }
  58. }

2.编写自定义处理类,继承Converter接口

  1. public class StringToGoodsConverter implements Converter<String, GoodsPromoteEnum> {
  2.  
  3. @Override
  4. public GoodsPromoteEnum convert(String value) {
  5. if (StringUtils.isBlank(value)) {
  6. return null;
  7. }
  8. return GoodsPromoteEnum.get(value);
  9. }
  10.  
  11. }

3.在springmvc配置文件里配置

  1. <!--自定义枚举类封装 -->
  2. <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
  3. <property name="converters">
  4. <set>
  5. <bean class="com.tentcoo.zbh.util.StringToGoodsConverter" />
  6. </set>
  7. </property>
  8. </bean>

SpringMVC 自动封装枚举类的方法的更多相关文章

  1. 枚举类valueOf方法的疑问

    枚举类中valueOf方法只有一个参数而Enum类中有两个参数,请问Enum实例类中的valueOf方法是从何处继承而来?   答案:jvm进行编译的时候添加的.

  2. java枚举类Enum方法简介(valueof,value,ordinal)

    Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class,   它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口.   当我们在声明一个enum类型时,我们应该注意到en ...

  3. (转)SpringMVC学习(七)——Controller类的方法返回值

    http://blog.csdn.net/yerenyuan_pku/article/details/72511844 本文所有案例代码的编写均建立在前文SpringMVC学习(六)——SpringM ...

  4. SpringMVC自动封装List对象 —— 自定义参数解析器

    前台传递的参数为集合对象时,后台Controller希望用一个List集合接收数据. 原生SpringMVC是不支持,Controller参数定义为List类型时,接收参数会报如下错误: org.sp ...

  5. 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  6. Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  7. 使用springMvc对象属性自动封装从jsp向controller传值

    controller通过ModelAndView向前台传传递信息 jsp也可以通过model向controller传递信息 这只是其中的一个办法,还有其他几种方式进行前后端的数据交互 如何才能让spr ...

  8. Enum 枚举类

    目录 Enum 枚举类 基础 定义与用途 基本方法 示例 进阶 实现原理 枚举与Class对象 自定义枚举类和构造方法及toString() Enum中使用抽象方法来实现枚举实例的多态性 Enum与接 ...

  9. 根据值获取枚举类对象工具类EnumUtils

    枚举类 public enum Sex { man("M","男"),woman("W","女"); private S ...

随机推荐

  1. [读书笔记]java中的volatile关键词

    以下内容大多来自周志明的<深入理解Java虚拟机>. 当一个变量被volatile修饰后,它将具备两种特性: 1. 保证此变量对所有线程的可见性,这里的“可见性”是指当一条线程修改了这个变 ...

  2. java程序链接到sql server数据库

    package jianhua; import java.sql.*; public class ConDatabase { public static void main(String[] args ...

  3. java的三大框架(三)---Hibernate

    一.什么是映射 这里所说的映射就是对象关系映射:将对象数据保存到数据库中,同时可以将数据库数据读入对象中,开发人员只对对象进行操作就可以完成对数据库数据的操作. 二.什么是基本映射 知道了什么是映射, ...

  4. spring logback 配置

    <appender name="DubboInfo" class="ch.qos.logback.core.rolling.RollingFileAppender& ...

  5. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据

    1. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据:修改GridView.OptionsBehavior.EditorShowMode属性为Click 2. 实现De ...

  6. MongoDB学习笔记五:聚合

    『count』count是最简单的聚合工具,返回集合中的文档数量:> db.foo.count()0> db.foo.insert({"x" : 1})> db. ...

  7. C++命名空间问题

    名称空间支持是一项c++特性,是用来解决在编写大型程序中不同文件(厂商)中相同变量名问题.​ 例如:有两个已经封装好的产品(类)中同时包含一个名为wanda()的函数,为了能够准确调用其中一个wand ...

  8. C# 导入Excel到DataSet中

    class Import { /// <summary> /// 导入Excel到DataSet中 /// </summary> /// <param name=&quo ...

  9. Java中避免表单重复提交

    表单的重复提交: 没有完整的进行一次,先请求表单页面->再提交表单过程而完成数据提交 造成的根本原因: 没有完整的进行一次,先请求表单页面->再提交表单过程. 造成重复提交的现象: 由于服 ...

  10. js控制 固定框架内图片 按比例显示 以及 占满框架 居中显示

    js控制 固定框架内图片 等比例显示 以及 占满框架 纵横居中显示 通过设置 js函数 fitDiv里面var fit的值就好 function fitDiv (obj) { var target_w ...