SpringMVC 自动封装枚举类的方法
springmvc默认无法自动封装枚举类,解决方法如下:
1.枚举类
- public enum GoodsPromoteEnum {
- /**
- * 0 精品
- */
- fine("精品",0),
- /**
- * 1 限时购
- */
- limit("限时购",1),
- /**
- * 2 特价
- */
- cheap("特价",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>
SpringMVC 自动封装枚举类的方法的更多相关文章
- 枚举类valueOf方法的疑问
枚举类中valueOf方法只有一个参数而Enum类中有两个参数,请问Enum实例类中的valueOf方法是从何处继承而来? 答案:jvm进行编译的时候添加的.
- java枚举类Enum方法简介(valueof,value,ordinal)
Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口. 当我们在声明一个enum类型时,我们应该注意到en ...
- (转)SpringMVC学习(七)——Controller类的方法返回值
http://blog.csdn.net/yerenyuan_pku/article/details/72511844 本文所有案例代码的编写均建立在前文SpringMVC学习(六)——SpringM ...
- SpringMVC自动封装List对象 —— 自定义参数解析器
前台传递的参数为集合对象时,后台Controller希望用一个List集合接收数据. 原生SpringMVC是不支持,Controller参数定义为List类型时,接收参数会报如下错误: org.sp ...
- 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承
1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum Celebrity{ case DongXie,XiDu,Nandi,BeiGai } // 从左 ...
- Swift枚举|结构体|类|属性|方法|下标脚本|继承
1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum Celebrity{ case DongXie,XiDu,Nandi,BeiGai } // 从左 ...
- 使用springMvc对象属性自动封装从jsp向controller传值
controller通过ModelAndView向前台传传递信息 jsp也可以通过model向controller传递信息 这只是其中的一个办法,还有其他几种方式进行前后端的数据交互 如何才能让spr ...
- Enum 枚举类
目录 Enum 枚举类 基础 定义与用途 基本方法 示例 进阶 实现原理 枚举与Class对象 自定义枚举类和构造方法及toString() Enum中使用抽象方法来实现枚举实例的多态性 Enum与接 ...
- 根据值获取枚举类对象工具类EnumUtils
枚举类 public enum Sex { man("M","男"),woman("W","女"); private S ...
随机推荐
- [读书笔记]java中的volatile关键词
以下内容大多来自周志明的<深入理解Java虚拟机>. 当一个变量被volatile修饰后,它将具备两种特性: 1. 保证此变量对所有线程的可见性,这里的“可见性”是指当一条线程修改了这个变 ...
- java程序链接到sql server数据库
package jianhua; import java.sql.*; public class ConDatabase { public static void main(String[] args ...
- java的三大框架(三)---Hibernate
一.什么是映射 这里所说的映射就是对象关系映射:将对象数据保存到数据库中,同时可以将数据库数据读入对象中,开发人员只对对象进行操作就可以完成对数据库数据的操作. 二.什么是基本映射 知道了什么是映射, ...
- spring logback 配置
<appender name="DubboInfo" class="ch.qos.logback.core.rolling.RollingFileAppender& ...
- 实现DevExpress GridControl 只有鼠标双击后才进行修改数据
1. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据:修改GridView.OptionsBehavior.EditorShowMode属性为Click 2. 实现De ...
- MongoDB学习笔记五:聚合
『count』count是最简单的聚合工具,返回集合中的文档数量:> db.foo.count()0> db.foo.insert({"x" : 1})> db. ...
- C++命名空间问题
名称空间支持是一项c++特性,是用来解决在编写大型程序中不同文件(厂商)中相同变量名问题. 例如:有两个已经封装好的产品(类)中同时包含一个名为wanda()的函数,为了能够准确调用其中一个wand ...
- C# 导入Excel到DataSet中
class Import { /// <summary> /// 导入Excel到DataSet中 /// </summary> /// <param name=&quo ...
- Java中避免表单重复提交
表单的重复提交: 没有完整的进行一次,先请求表单页面->再提交表单过程而完成数据提交 造成的根本原因: 没有完整的进行一次,先请求表单页面->再提交表单过程. 造成重复提交的现象: 由于服 ...
- js控制 固定框架内图片 按比例显示 以及 占满框架 居中显示
js控制 固定框架内图片 等比例显示 以及 占满框架 纵横居中显示 通过设置 js函数 fitDiv里面var fit的值就好 function fitDiv (obj) { var target_w ...