gpt4 book ai didi

java - 在Struts2中excludeParams实际上排除了什么?

转载 作者:行者123 更新时间:2023-11-30 09:31:53 25 4
gpt4 key购买 nike

我是这方面的新手。当我在 S2 中学习拦截器基础知识时,我遇到了 struts-default.xml 并且对 excludeParams 列表感到有点困惑。任何人都可以向我解释下面的代码以及每个参数吗?

<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,parameters\...*</param>
</interceptor-ref>

最佳答案

好吧,这是框架提供的一项功能,可让您决定是想要所有参数还是某些选定参数。

您可以使用此功能来决定,有时它真的非常有用,您希望在您的操作类中接受某些特定属性。

默认情况下,Param 拦截器 将所有参数设置在值堆栈上。

此拦截器从 ActionContext#getParameters() 获取所有参数,并通过调用 ValueStack#setValue(String, Object) 将它们设置在值堆栈中,通常会导致在表单请求中提交的值应用于值堆栈中的操作。

在底层 XWork 提供 MethodFilterInterceptor,因此能够处理 excludeMethods/includeMethods 参数。

这是Struts2提供的处理跨站请求伪造(CSRF)的机制之一。

看看

  1. parameters-interceptor
  2. MethodFilterInterceptor

关于java - 在Struts2中excludeParams实际上排除了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12738796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com