[英]How prepare interceptor works in struts2?
請告訴我預備攔截器的工作原理,我現在正在使用它並發現了分段行為
prepare()
validate()
execute()
這些是方法
所以當我點擊請求時,它被調用了3次
prepare()
validate()
execute()
prepare()
validate()
execute()
prepare()
validate()
execute()
我不知道這是什么問題,根據我的理解,它應該只運行prepare方法並顯示預填充的數據表格,並且當用戶單擊Submit時,它應該提交數據。
請解釋
<action name="updatebusinessinfo" class="com.controller.UpdateBusinessDetails">
<interceptor-ref name="params"/>
<!--
<interceptor-ref name="prepare"/>
<interceptor-ref name="basicStack"/>
-->
<interceptor-ref name="fileUpload">
<param name="maximumSize">2097152</param>
<param name="allowedTypes">image/png,image/gif,image/jpeg,image/pjpeg</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="success">businessinfo.jsp</result>
<result name="input">businessinfo.jsp</result>
<result name="error">businessinfo.jsp</result>
</action>
是的朋友,我在struts.xml文件中犯了錯誤。 現在,請告訴我我應該如何在prepare()
方法中接收url參數? http://www.myweb.com/updatebusinessinfo/23
我嘗試跟隨但無法正常工作
<action name="updatebusinessinfo/*" class="com.controller.UpdateBusinessDetails">
<param name="id">{1}</param>
<interceptor-ref name="params"/>
<!--
<interceptor-ref name="prepare"/>
<interceptor-ref name="basicStack"/>
-->
<interceptor-ref name="fileUpload">
<param name="maximumSize">2097152</param>
<param name="allowedTypes">image/png,image/gif,image/jpeg,image/pjpeg</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="success">businessinfo.jsp</result>
<result name="input">businessinfo.jsp</result>
<result name="error">businessinfo.jsp</result>
</action>
有關此問題的一些提示可能會在尋找有關“准備攔截器”信息的人們中派上用場:
查看此處以了解struts2中的基本/默認堆棧: http : //struts.apache.org/release/2.0.x/docs/struts-defaultxml.html
有一個“ paramsPrepareParamsStack”,它在Prepare之前和之后使用Params,因此您可以在prepare()中使用params。
好吧,沒有任何進一步的信息,很難說出發生的原因和原因。我們仍然希望您能提供有關您要執行的操作的更多詳細信息? 您要訪問的URL,有關配置的信息以及有關您應用程序的其他信息。
僅當您實現了Preparable接口時才調用prepare方法。簡而言之,它是一種init方法,它使我們可以在開始繁重的工作之前進行任何初始化工作。
准備方法將在執行方法之前調用。我建議您先了解准備方法的工作以及堆棧實際如何調用它。
以類似的方式,S2將調用您的操作類的validate方法(如果已實現),並將根據方法內部提供的實現來驗證數據。
這只是流程的概述,我仍然建議您提供有關您的上下文的更多信息,以獲得任何好的輸入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.