我将 struts-json-plugin.2.2.3 用于结果类型为 json 的操作,这是一个演示配置:
<action name="dept_*" class="com.XXX.action.DepartmentAction" method="{1}">
<result name="search">dept_search.jsp</result>
<result name="search_ajax" type="json"><param name="root">deptList</param><param name="excludeNullProperties">true</param><param name="noCache">true</param></result>
<result name="save" type="json"><param name="root">jsonResult</param><param name="excludeNullProperties">true</param><param name="noCache">true</param></result>
<result name="count" type="json"><param name="root">pageCount</param><param name="excludeNullProperties">true</param><param name="noCache">true</param></result>
</action>
此配置工作正常。但是对于我项目中的所有操作,noCache
并且excludeNullProperties
与上面的代码具有相同的配置值,所以我正在寻找一种方法来在一个地方配置它们并用于所有操作。我在JSONInterceptor
课堂上发现,有同名的属性,所以我这样配置:
<interceptors>
<interceptor-stack name="ecsStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="json"><param name="noCache">true</param><param name="excludeNullProperties">true</param><param name="contentType">application/json;charset=utf-8</param></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="ecsStack"></default-interceptor-ref>
并删除 中的相同配置Action result
,但它没有按预期工作,响应标头中没有cache-control
,expires
和信息,并且 null 属性被发送到浏览器。pragma
那么为什么它不起作用呢?
如果有方便的方法来配置这两个参数?