我想知道这个文件是否正确,因为我不太了解拦截器。
<struts>
<interceptors>
<interceptor-stack name="storeStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="store">
<param name="operationMode">STORE</param>
</interceptor-ref>
</interceptor-stack>
<interceptor-stack name="retrieveStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="store">
</interceptor-ref>
</interceptor-stack>
</interceptors>
<action name="index">
<result>/JSPs/eleve/view.jsp</result>
</action>
<action name="ajoutereleves" class="com.injaz.struts2.actions.NavigateAction" method="navigateToAjouterEleveJsp">
<result name="ajoutereleves">/JSPs/eleve/addeleve.jsp</result>
</action>
<action name="listereleves" class="com.injaz.struts2.actions.NavigateAction" method="navigateToListerElevesJsp">
<result name="listereleves">/JSPs/eleve/showseleves.jsp</result>
</action>
<action name="manageeleves" class="com.injaz.struts2.actions.NavigateAction" method="navigateToUpdateElevesJsp">
<result name="manageeleves">/JSPs/eleve/manageeleves.jsp</result>
</action>
<action name="ajoutereleverecord" class="com.injaz.struts2.actions.AddEleveAction" method="execute">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="store"/>
<result name="success">/JSPs/eleve/addeleve.jsp</result>
<result name="error">/JSPs/eleve/addeleve.jsp</result>
</action>
<action name="updateeleve" class="com.injaz.struts2.actions.UpdateEleveAction" method="execute">
<result type="json">
<param name="contentType">text/html</param>
</result>
</action>
<action name="getupdateeleve" class="com.injaz.struts2.actions.EditEleveAction" method="getEleveObject">
<interceptor-ref name="storeStack" />
<result name="success">/JSPs/eleve/editeleve.jsp</result>
<result name="error">/JSPs/eleve/editeleve.jsp</result>
</action>
<action name="eleveTable" method="getEleveTable"
class="com.injaz.struts2.actions.EleveJsonTable">
<result type="json">
<param name="contentType">text/html</param>
</result>
</action>
<action name="validateEleve" class="com.injaz.struts2.validator.EleveValidator" method="validateEleveNom">
<result type="json">
<param name="contentType">text/html</param>
</result>
</action>
</package>
</struts>
我正在使用Struts 2.3.1获取更多详细信息。
答案 0 :(得分:0)
不,您的struts.xml
不正确。在执行操作之前调用拦截器。它就像一个服务请求的管道。他们每个人都一个接一个地调用。当最后一个拦截器处理完动作时。要在操作配置中或通过注释配置的调用拦截器。有关拦截器的详细说明,请参阅docs。
重要的是拦截器在堆栈上调用的顺序。有一个defaultStack
,拦截器被收集并适当地排序。如果将自定义拦截器的引用添加到堆栈或操作,它应该符合它所放置的顺序。
xml配置文件应符合DTD。