2

結果タイプが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つのパラメーターを構成する便利な方法がある場合はどうなりますか?expirespragma

4

1 に答える 1

1

ファイルでこのresult-type構成を試してください。struts.xml

<result-type name="json" class="org.apache.struts2.json.JSONResult">
  <param name="noCache">true</param>
  <param name="excludeNullProperties">true</param>
</result-type>
于 2013-03-20T22:42:52.317 に答える