【问题标题】:Is my configuration file struts.xml correct?我的配置文件 struts.xml 是否正确?
【发布时间】:2013-04-05 16:30:06
【问题描述】:

我想知道这个文件是否正确,因为我对拦截器不是很了解。

struts.xml:

<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 了解更多详情。

【问题讨论】:

  • 拼写检查帮助算不算? “请”有 6 个字母,而不是 3 个......并且问题中并不真正需要(合理完整的示例和详细的错误显示比拼写错误的寻求帮助更多的努力)。 IE。您的 XML 在问题中看起来根本无效。
  • @Alexei Levenkov 我编辑了我的文件,请再次检查,因为验证对我不起作用,消息错误不显示,这是我的问题。

标签: java configuration struts2 struts-action struts2-interceptors


【解决方案1】:

不,您的struts.xml 不正确。拦截器在动作执行之前被调用。它就像一个为请求提供服务的管道。他们每个人都一个接一个地调用。当最后一个拦截器处理完毕时,动作被执行。在操作配置中或通过注释配置要调用的拦截器。拦截器的详细解释见docs

重要的是在堆栈上调用拦截器的顺序。有一个defaultStack,拦截器被收集并适当地排序。如果您将自定义拦截器的引用添加到堆栈或操作中,它应该符合它放置的顺序。

xml 配置文件应符合 DTD。

【讨论】:

    猜你喜欢
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 2015-06-02
    • 1970-01-01
    相关资源
    最近更新 更多