結果タイプがjsonであるアクションにstruts-json-plugin.2.2.3を使用しています。デモ構成は次のとおりです。
<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
を持っているので、それらを1つの場所で構成し、すべてに使用する方法を探しています。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
、期待どおりに機能せず、応答ヘッダーに情報がなく、nullプロパティがブラウザに送信されますcache-control
。では、なぜそれが機能しないのですか?
これらの2つのパラメーターを構成する便利な方法がある場合はどうなりますか?expires
pragma