【问题标题】:Why do we have to specify "methodParams" in struts validation plugin?为什么我们必须在 struts 验证插件中指定“methodParams”?
【发布时间】:2009-07-21 02:53:37
【问题描述】:

我查看了“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"

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

谢谢。

【问题讨论】:

    标签: java jsp plugins jakarta-ee struts


    【解决方案1】:

    请查看此链接: 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”可以更改。

    【讨论】:

      猜你喜欢
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-17
      相关资源
      最近更新 更多