-
在需要显示字典项的字段所对应的OR模型上,利用注解方式,在后台对列表数据进行Json序列化时,添加一个子类,字段值从缓存(本方案中采用memcached缓存)中加载的字典中读取。
model类写法: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190326172438784.jpg) 注解类: import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonStreamContext; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import com.framework.admin.dict.model.DictItem; import com.framework.admin.dict.util.DictItemUtil; import com.framework.utils.string.StringUtil; import java.io.IOException; public class DictJsonSerialize extends JsonSerializer<String> { public void serialize(String str, JsonGenerator generator,SerializerProvider provider) throws IOException, JsonProcessingException { String attrName = generator.getOutputContext().getCurrentName(); if (StringUtil.isNotEmpty(attrName)) { generator.writeStartObject(); if (StringUtil.isNotEmpty(str)) { generator.writeStringField(attrName, str); DictItem dictItem = DictItemUtil.getItemByItemFullCode(str); if (dictItem != null) { generator.writeStringField(attrName + "Name", dictItem.getItemName()); } else { generator.writeStringField(attrName + "Name", ""); } } else { generator.writeStringField(attrName, ""); generator.writeStringField(attrName + "Name", ""); } generator.writeEndObject(); } } }
利用注解从缓存读取列表中涉及的数据字典
最新推荐文章于 2022-07-05 16:04:03 发布