- 参数拦截器
- 参数拦截器的参数
- 参数拦截器的示例
参数拦截器也称为参数拦截器, 用于设置值堆栈上的所有参数。
默认情况下, 它位于默认堆栈中。因此, 你无需明确指定它。
参数拦截器的内部工作
它通过调用ActionContext的getParameters()方法获取所有参数, 并通过调用ValueStack的setValue()方法在值堆栈上进行设置。
参数拦截器的参数
为参数拦截器定义了4个参数。
Parameter | Description |
---|---|
ordered | 默认情况下为true, 但可用于自上而下的属性设置器行为。 |
paramNameMaxLength | 指定参数的最大长度。默认长度默认为100个字符。长度超过100的参数将被忽略。 |
excludeParams | 指定不允许的参数名称。你可以指定多个名称, 以逗号分隔。 |
acceptParamNames | 指定接受的参数名称。 |
参数拦截器的示例
让我们看一下参数拦截器的简单示例。
<action name="login" class="com.srcmini.Login">
<interceptor-ref name="params"/>
<result name="success">login-success.jsp</result>
</action>
注意:如果你为操作明确指定任何拦截器, 则默认拦截器将不适用于该操作类。
Struts 2 defaultStack拦截器
参数拦截器位于默认堆栈中。你无需指定在默认堆栈中找到的拦截器。 defaultStack拦截器如下:
<interceptor-stack name="defaultStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="profiling"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*, ^struts\..*</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-stack>
评论前必须登录!
注册