/**
* 获取被 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() 来实现一下
记得搞定后回来反馈,或许这个在将来十分有用