Post Struts 2参数验证

Post Struts 2参数验证,post,parameters,struts2,get,Post,Parameters,Struts2,Get,我想知道如何处理struts2操作中缺少的请求参数: 假设您有一个查看用户配置文件的操作。 该操作将根据userId参数显示给定用户的配置文件 您如何处理此参数可能丢失的事实(如果用户直接从url栏加载操作,或者如果他使用篡改数据加载项 我看到了几个选项,但我想知道是否还有其他选项,哪一个是最好的: 在每个操作中,在prepare()上,检查是否给定了预期参数,如果没有,则重定向 在每个操作中,在处理请求的方法上,检查参数,如果没有,则重定向 我还认为我可以使用验证器来确保参数存在,但它只对表单

我想知道如何处理struts2操作中缺少的请求参数: 假设您有一个查看用户配置文件的操作。 该操作将根据userId参数显示给定用户的配置文件

您如何处理此参数可能丢失的事实(如果用户直接从url栏加载操作,或者如果他使用篡改数据加载项

我看到了几个选项,但我想知道是否还有其他选项,哪一个是最好的:

  • 在每个操作中,在prepare()上,检查是否给定了预期参数,如果没有,则重定向
  • 在每个操作中,在处理请求的方法上,检查参数,如果没有,则重定向
  • 我还认为我可以使用验证器来确保参数存在,但它只对表单有效,不是吗

    如果你对这个问题有什么想法或观点,我很乐意听听


    谢谢

    验证对请求参数进行操作——不管是通过表单还是请求参数进行验证

    只要操作具有适当的设置器(在本例中是这样),默认验证就可以正常工作。确定用户是否有权访问所讨论的概要文件也可以使用自定义验证器来处理,该验证器可能使用现有的业务逻辑来确定访问权限


    然而,所有这些都可以使用Spring安全性来包装,并且不需要编写自己的拦截器和/或验证器。哪种解决方案最合适取决于您的实际需要。

    在这种情况下,拦截器将发挥更好的作用,识别篡改,我使用自定义拦截器处理。