电子商务查询网站,怎么让网站绑定域名访问不了,公司网站建设定金计入什么科目,沈阳网站关键词优化哪里好上节介绍数据来源是数据库#xff0c;这节介绍对枚举进行数据获取#xff0c;形成下拉列表。 使用场景#xff1a;某些状态值获取等#xff0c;一般是数据量小#xff0c;不需要在数据库中进行维护的数据集 1、前提要有枚举数据 package com.test.entity.neworder;import …上节介绍数据来源是数据库这节介绍对枚举进行数据获取形成下拉列表。 使用场景某些状态值获取等一般是数据量小不需要在数据库中进行维护的数据集 1、前提要有枚举数据 package com.test.entity.neworder;import java.util.Objects;/*** 新订单状态** author 刘涛*/
public enum NewOrderStateEunm {//已删除已删除(0, 已删除),//已创建已创建(1, 已创建),//已发布已发布(2, 已发布),Integer index;String state;NewOrderStateEunm(Integer index, String state) {this.index index;this.state state;}public Integer getIndex() {return index;}public String getState() {return state;}/*** 通过index获取value** param index 枚举索引* return 枚举值*/public static String getValue(Integer index) {for (NewOrderStateEunm c : NewOrderStateEunm.values()) {if (Objects.equals(c.getIndex(), index)) {return c.getState();}}return null;}/*** 通过value获取index** param state 枚举值* return 枚举索引*/public static String getIndex(String state) {for (NewOrderStateEunm c : NewOrderStateEunm.values()) {if (Objects.equals(c.getState(), state)) {return c.index ;}}return error;}
} 2、Controller层 /*** 获取订单状态类型*/RequestMapping(/getNewOrderStateForSelect)ResponseBodypublic ListMapString, Object getNewOrderStateForSelect() {return EnumUtil.getNewOrderStateEnum();} 3、EnumUtil工具类文件中 package com.test.util;import com.test.entity.neworder.NewOrderStateEunm;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class EnumUtil {public static ListMapString, Object getNewOrderStateEnum() {ListMapString, Object lm new ArrayList();MapString, Object m;for (int i 0; i NewOrderStateEunm.values().length; i) {m new HashMap();m.put(id, NewOrderStateEunm.values()[i].getIndex() );m.put(type, NewOrderStateEunm.values()[i].getState());lm.add(m);}return lm;}
} 4、前端页面 select typetext idstateCode namestate lay-filterstate lay-searchautocompleteoff/select 5、由于我使用的是layui所以js部分 script typetext/javascriptvar $ layui.jquery;$(function () {getNewOrderStateForSelect(stateCode);});/*** 获取订单状态列表* param selectId*/
function getNewOrderStateForSelect(selectId) {var $selectId $(# selectId);var url commonCtrl/getNewOrderStateForSelect;$.get(url, function (data) {console.log(data);var info option value请选择/option;for (var i 0; i data.length; i) {info option value data[i].id data[i].type /option;}$selectId.append(info);layui.use(form, function () {var form layui.form;form.render(select);})})
}/script 完毕 昨天还遇到一个比较复杂的获取方式后台将枚举写的复杂了。如下 for(int i0;i SettleTypeNewEnum.values().length;i){Map codenew HashMap();code.put(SettleTypeNewEnum.values()[i].getType(),SettleTypeNewEnum.values()[i].getIndex());payMethodCodeList.add(code);} 所以前端获取到的是{[object object],[object object]}用json解析一下就是{[张三:12],[李四:23]}这种格式 但是我想获取其中的值直接调用对象中的属性暂未发现有什么属性能直接获取到数据。 so只能利用以下这种方式解决了 function getNewPayMethodTypeForSelect(selectId) {var $selectId $(# selectId);var url newSettleCtrl/getPayMethodCode;$.get(url, function (data) {var info option value请选择/option;$.each(data.data,function(i,v){info option value v[Object.keys(v)[0]] Object.keys(v)[0] /option;});$selectId.append(info);layui.use(form, function () {var form layui.form;form.render(select);})})
} 转载于:https://www.cnblogs.com/yangyuke1994/p/9999328.html