struts2中action实现ModelDriven后无法返回json的问题
public class DeviceAction extends AbstractAction implements ModelDriven<Device> { private static Log log = LogFactory.getLog(DeviceAction.class); private Device device=new Device(); //只能json化 模型驱动的bean private String result; //无法返回reslut的json值 public String getResult(){ return result; } public void setResult(String result){ this.result=result } public DeviceDTO getModel() { return device; } public Device getDevice() { return device; } public void setDevice(Device device) { this.device = device; } }
xml配置:
<action name="queryPu" class="com.jxj.bss.web.actions.DeviceAction" method="queryPu"> <interceptor-ref name="isLogin"></interceptor-ref> <result type="json"> <param name="includeProperties"> resultCode </param> </result> </action>
解决办法:
<action name="queryPu" class="com.jxj.bss.web.actions.DeviceAction" method="queryPu"> <interceptor-ref name="isLogin"></interceptor-ref> <result type="json"> <param name="root">action</param> <param name="includeProperties"> resultCode </param> </result> </action>
<param name="includeProperties"> </param> 这个属性表示要包含进JSON数据中的数据。
<param name="excludeProperties"></param> 这个属性表示不要包含进JSON数据中的数据。
<param name="excludeNullProperties">true</param>这个属性表示去除空数据。
<param name="ignoreHierarchy">false</param> ignoreHierarchy 这个属性表示是否忽略等级,也就是继承关系,设置为 false 后会将父类和子类的属性一起返回