【发布时间】:2012-06-02 21:37:03
【问题描述】:
请告诉我准备拦截器是如何工作的 我现在正在使用它并发现了策略行为
prepare()
validate()
execute()
这些是方法
所以当我点击请求时,它调用了 3 次
prepare()
validate()
execute()
prepare()
validate()
execute()
prepare()
validate()
execute()
我不知道它有什么问题 根据我的理解,它应该只运行准备方法并显示预填充的数据表单,当用户点击提交时,它应该提交数据。
请解释
<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>
【问题讨论】:
-
请发布您如何定义拦截器堆栈更好地发布完整的 struts.xml 文件。
-
不久前发布了这样一个问题,OP 不小心执行了 3 次 ajax 调用...如果您使用的是默认堆栈,我也在这里猜测。
标签: java struts2 validation