为什么我们必须指定“methodParams” 在struts验证插件中?

发布于 2024-07-27 01:43:54 字数 556 浏览 6 评论 0原文

我查了《Jakarta Struts Live》一书中的验证器源代码和用户定义规则的示例。 当人们在 validator-rules.xml 中定义验证器规则时,以下“methodParams”声明似乎是唯一的选择:

methodParams="java.lang.Object,
                   org.apache.commons.validator.ValidatorAction,
                   org.apache.commons.validator.Field,
                   org.apache.struts.action.ActionMessages,
                   org.apache.commons.validator.Validator,
                   javax.servlet.http.HttpServletRequest"

好吧,我的问题是,如果这是唯一的可能性,为什么我们还要指定它呢? 或者,如果此声明不是唯一的选择,请给我提供一个示例。

谢谢。

I have checked the validator source code and the examples of user-defined rule in the book "Jakarta Struts Live." When people define validator rules in validator-rules.xml, the following declaration for "methodParams" seems to be the only choice:

methodParams="java.lang.Object,
                   org.apache.commons.validator.ValidatorAction,
                   org.apache.commons.validator.Field,
                   org.apache.struts.action.ActionMessages,
                   org.apache.commons.validator.Validator,
                   javax.servlet.http.HttpServletRequest"

Okay, my question is that if this is the only possibility, why do we bother to specify it? Or please provide me with an example if this declaration is not the only choice.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅浅淡淡 2024-08-03 01:43:54

请看一下这个链接:
http://struts.apache.org/1.1/userGuide/dev_validator.html
它说:

methodParams 属性采用
逗号分隔的类名列表。
方法属性需要有一个
签名符合上述规定
列表。 该列表可以包含任何
以下组合:

java.lang.Object - Bean 验证是
正在执行。
org.apache.commons.validator.ValidatorAction
- 当前正在执行的 ValidatorAction。
org.apache.commons.validator.Field -
正在验证的字段对象。
org.apache.struts.action.ActionErrors
- 如果验证通过,则向错误对象添加 ActionError
失败。
javax.servlet.http.HttpServletRequest
- 当前请求对象。 javax.servlet.ServletContext - 的
应用程序的 ServletContext。
org.apache.commons.validator.Validator
- 当前的 org.apache.commons.validator.Validator
实例。 java.util.Locale - 的
当前用户的区域设置。

看来“methodParams”可以是列出的类型的任意组合,并且 Strurs Validator Plugin 会将实例相应地注入到验证函数调用中。

“methodParams”可以更改。

Please take a look at this link:
http://struts.apache.org/1.1/userGuide/dev_validator.html
It says:

The methodParams attribute takes a
comma separated list of class names.
The method attribute needs to have a
signature complying with the above
list. The list can be comprised of any
combination of the following:

java.lang.Object - Bean validation is
being performed on.
org.apache.commons.validator.ValidatorAction
- The current ValidatorAction being performed.
org.apache.commons.validator.Field -
Field object being validated.
org.apache.struts.action.ActionErrors
- The errors objects to add an ActionError to if the validation
fails.
javax.servlet.http.HttpServletRequest
- Current request object. javax.servlet.ServletContext - The
application's ServletContext.
org.apache.commons.validator.Validator
- The current org.apache.commons.validator.Validator
instance. java.util.Locale - The
Locale of the current user.

It seems that "methodParams" can be any combination of the listed types, and Strurs Validator Plugin will inject the instances into the validation function call accordingly.

"methodParams" can be changed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文