gpt4 book ai didi

java - 我们在 Struts2 中是否有用于 JSON 操作的拦截器

转载 作者:行者123 更新时间:2023-11-29 06:02:48 25 4
gpt4 key购买 nike

在我的应用程序中,我为默认包中的操作配置了 session 拦截器(即结果类型为 JSP 或 tiles 的操作)。是否有任何选项可以为 JSON 包中的操作配置拦截器。即带有 JSON 结果的 Action 类。

这是我的 Struts.xml

<struts>
<constant name="struts.devMode" value="false" />
<package name="default" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<interceptors>
<interceptor name="sessionInterceptor" class="com.dar.session.SessionInterceptor" />
<interceptor-stack name="myInterceptorStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="sessionInterceptor"/>
</interceptor-stack>
</interceptors>
<action name="createCampaign">
<interceptor-ref name="myInterceptorStack"></interceptor-ref>
<result type="tiles">createCampaign</result>
</action>
</package>
<package name="example" namespace="/" extends="json-default">
<result-types>
<result-type name="json" class="com.googlecode.jsonplugin.JSONResult"/>
</result-types>
<action name="peopleCountAction" class="com.dar.business.BusinessSearchAction" method="findPeopleCount">
<result name="success" type="json">
<param name="includeProperties">peopleCount</param>
</result>
</action>
</package>
</struts>

最佳答案

<struts>
<package name="default" namespace="/" extends="json-default">
<interceptors>
<interceptor name="SecurityInterceptor"
class="com.i2c.cportal.framework.interceptors.SecurityInterceptor"/>
<interceptor name="cacheInterceptor"
class="com.i2c.cportal.framework.interceptors.CachingInterceptor"/>
<interceptor-stack name="jsonStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="SecurityInterceptor"></interceptor-ref>
<interceptor-ref name="cacheInterceptor"></interceptor-ref>
</interceptor-stack>
</interceptors>

<default-interceptor-ref name="jsonStack"></default-interceptor-ref>
<default-action-ref name="defaultAction"></default-action-ref>
<action method="getJsonOfOrders" name="getJsonOfOrders" class="sample.SampleAction">
<result type="json" />
</action>
</package>
</struts>

它会工作,你只需要定义堆栈并使用并记住使用默认堆栈,否则如果你使用它,SessionAware session 将变为空。

关于java - 我们在 Struts2 中是否有用于 JSON 操作的拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9533206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com