[英]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.