/** * 获取被 Kv 封装后的参数,便于使用 Kv 中的一些工具方法 * * 由于 Kv 继承自 HashMap,也便于需要使用 HashMap 的场景, * 例如: * Record record = new Record().setColumns(getKv()); */ public Kv getKv() { Kv kv = new Kv(); Map<String, String[]> paraMap = request.getParameterMap(); for (Entry<String, String[]> entry : paraMap.entrySet()) { String[] values = entry.getValue(); String value = (values != null && values.length > 0) ? values[0] : null; kv.put(entry.getKey(), "".equals(value) ? null : value); } return kv; }
上面原方法数组的值会只取一个,能否改为支持数组比如复选框传值,比如下面这样?
Kv kv = new Kv(); getParaMap().forEach((k, v) -> { if(v.length == 1) kv.put(k, getPara(k.toString())); else kv.put(k, getParaValues(k.toString())); });
再多等几个反馈,看看这个需求是否强烈
当前你可以引入一个 BaseController extends Controller ,然后覆盖掉父类中的 getKv() 来实现一下
记得搞定后回来反馈,或许这个在将来十分有用