package com.github.ltsopensource.admin.web.support; import com.github.ltsopensource.core.json.JSON; import com.github.ltsopensource.core.json.TypeReference; import org.springframework.util.StringUtils; import java.beans.PropertyEditorSupport; import java.util.HashMap; import java.util.Map; /** * Robert HG (254963746@qq.com) on 6/5/15. */ public class MapEditor extends PropertyEditorSupport { public MapEditor() { } @Override public void setAsText(String text) throws IllegalArgumentException { if (!StringUtils.hasText(text)) { setValue(null); } else { setValue(JSON.parse(text, new TypeReference<HashMap<String, String>>(){})); } } @Override public String getAsText() { Map<?, ?> value = (Map<?, ?>) getValue(); if (value == null) { return ""; } return JSON.toJSONString(value); } }