java 枚举 下拉框_枚举enum在velocity模板语言中的应用-下拉菜单
1. velocity模板vm页面
语言:#if("add" == $flag)
#foreach($elem in $languageEnum)
$elem.name
#end
#else
#foreach($elem in $languageEnum)
#set($temp=0);
#foreach($arr in $languageArray)
#if($arr == $elem.id)
#set($temp=1);break;
#end
#end
#if($temp==1)
$elem.name
#else
$elem.name
#end
#end
#end
2. controller中Java代码
//增加页面代码处理
@RequestMapping("toAdd")
public String toAdd(Model model) {
model.addAttribute("flag", "add");
model.addAttribute("languageEnum",LanguageEnum.values());
return "apps/appsAdd";
}
//去修改页面代码处理
String languages = appsDetail.getLanguages();
String[] languageArray = {} ;
if(!"".equals(languages)){
languages = languages.substring(0, languages.length() - 1);
languageArray = languages.split(",");
}
model.addAttribute("languageArray", languageArray);
3. 枚举enum实例
package com.wxsk.app.constant;
public enum LanguageEnum {
CHINESE(1, "中文"),
ENGLISH(2, "英文");
// 成员变量
private Integer id;
private String name;
LanguageEnum(Integer id, String name) {
this.id = id;
this.name = name;
}
public Integer getId() {
return this.id;
}
public String getName() {
return this.name;
}
public static LanguageEnum get(int id) {
LanguageEnum[] elements = LanguageEnum.values();
for (int i = 0; i < elements.length; i++) {
if (elements[i].getId() == id) {
return elements[i];
}
}
return null;
}
public static void main(String[] args) {
System.out.println(LanguageEnum.get(1));
}
}
4. 枚举转化为集合
@RequestMapping("queryLanguageList")
public @ResponseBody String queryLanguageList(HttpServletRequest request){
LanguageEnum[] languageEnum = LanguageEnum.values() ;
List languageList = new ArrayList() ;
for(int i=0;i
Language language = new Language();
language.setId(languageEnum[i].getId());
language.setName(languageEnum[i].getName());
languageList.add(language);
}
return getJSONStr(languageList);
}