Struts 2验证参数

时间:2012-04-26 13:57:26

标签: post parameters struts2 get

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

如何处理这个参数可能丢失的事实(如果用户直接从网址栏加载操作或者他是否使用篡改数据插件...)?

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

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

    如果你对这个问题有任何想法或观点,我很乐意听到它

    由于

1 个答案:

答案 0 :(得分:1)

验证对请求参数进行操作 - 无论是通过表单还是请求参数都无关紧要。

只要某个操作具有适当的setter,在这种情况下,默认验证就可以正常工作。确定用户是否有权访问相关配置文件也可以使用自定义验证器来处理,可能是使用现有业务逻辑来确定访问权限的验证器。

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