package org.nutz.mvc.adaptor.injector; import java.lang.reflect.Type; import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.nutz.mapl.Mapl; import org.nutz.mvc.adaptor.ParamInjector; /** * 假设 refer 是 Map<String,Object> * * @author zozoh(zozohtnt@gmail.com) */ public class JsonInjector implements ParamInjector { private Type type; private String name; public JsonInjector(Type type, String name) { this.type = type; this.name = name; } @SuppressWarnings("unchecked") public Object get( ServletContext sc, HttpServletRequest req, HttpServletResponse resp, Object refer) { if (null == name) return Mapl.maplistToObj(refer, type); Map<String, Object> map = (Map<String, Object>)refer; Object theObj = map.get(name); if (null == theObj) return null; return Mapl.maplistToObj(map, type); } }