我们一般项目中,都是把字典存到数据库中的。几个月前在做一个政府的项目中,觉得其实一些字典是跟开发工程紧密结合在一起的,也就是说字典变了,工程肯定也要变,这样子的字典如果也存到数据库中的话,也是多增加一些麻烦而已,后来但将这些字典写成枚举。然后数据库里面取的所谓的字典的key就是枚举的name,如:"unsubmited",而前台页面显示的,就是枚举的一个属性text,不过这里用到了webwork里面的ognl语法。

/** *//**
* Author: Wingel
* Date: 2006-7-29
* Time: 15:17:52
*/
public enum ApplicationState ...{
unsubmited("未提交"),submited("提交/待审批"),agreed("通过"),disagreed("未同意");
private String text;

ApplicationState(String text) ...{
this.text = text;
}

public static String getText(String name) ...{//给页面用的方法
try ...{
return valueOf(name).text;
} catch (Exception e) ...{
return null;
}
}

public String getText() ...{
return text;
}

public static boolean isValidRegisterType(String name) ...{
try ...{
valueOf(name);
return true;
} catch (Exception e) ...{
return false;
}
}

public static ApplicationState[] allState() ...{
return ApplicationState.values();
}

public String getName() ...{
return this.name();
}
}

本文介绍了一种在软件开发项目中使用枚举类型替代数据库存储字典的方法。通过枚举来映射固定的选项集合,可以简化维护流程并提高前后端数据交互效率。
627

被折叠的 条评论
为什么被折叠?



