该参数不是由ParametersInterceptor设置的(就像来自JSP的那些参数一样),而是
由
StaticParametersInterceptor设置的。
为了将它们填充到
prepare()方法中,
paramsPrepareParamsStack必须使用相同的技巧。
由于没有 现成 的Interceptor Stack ,您必须对其进行定义。
从开始
defaultStack,我们应该创建一个这样的Stack:
<interceptor-stack name="allYourParamsAreBelongToUsStack"> <interceptor-ref name="exception"/> <interceptor-ref name="alias"/> <interceptor-ref name="servletConfig"/> <interceptor-ref name="i18n"/> <!-- THE TRICK: NOW PREPARE() WILL FIND EVERYTHING SET --> <interceptor-ref name="staticParams"/> <interceptor-ref name="actionMappingParams"/> <interceptor-ref name="params"> <param name="excludeParams">dojo..*,^struts..*,^session..*,^request..*,^application..*,^servlet(Request|Response)..*,parameters...*</param> </interceptor-ref> <!-- END OF THE TRICK --> <interceptor-ref name="prepare"/> <interceptor-ref name="chain"/> <interceptor-ref name="scopedModelDriven"/> <interceptor-ref name="modelDriven"/> <interceptor-ref name="fileUpload"/> <interceptor-ref name="checkbox"/> <interceptor-ref name="multiselect"/> <interceptor-ref name="staticParams"/> <interceptor-ref name="actionMappingParams"/> <interceptor-ref name="params"> <param name="excludeParams">dojo..*,^struts..*,^session..*,^request..*,^application..*,^servlet(Request|Response)..*,parameters...*</param> </interceptor-ref> <interceptor-ref name="conversionError"/> <interceptor-ref name="validation"> <param name="excludeMethods">input,back,cancel,browse</param> </interceptor-ref> <interceptor-ref name="workflow"> <param name="excludeMethods">input,back,cancel,browse</param> </interceptor-ref> <interceptor-ref name="debugging"/></interceptor-stack>
注意:
ActionMappingParams不需要,仅包括以供将来使用。
如果您发现与此有关的任何问题,请发表评论。AFAIK,它可以完美地工作。



