Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我们必须在struts验证插件中指定“methodParams”?_Java_Jsp_Plugins_Jakarta Ee_Struts - Fatal编程技术网

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

Java 为什么我们必须在struts验证插件中指定“methodParams”?,java,jsp,plugins,jakarta-ee,struts,Java,Jsp,Plugins,Jakarta Ee,Struts,我检查了Jakarta Struts Live一书中的验证器源代码和用户定义规则示例。当人们在validator-rules.xml中定义验证器规则时,以下methodParams声明似乎是唯一的选择: methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Fie

我检查了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"
好的,我的问题是,如果这是唯一的可能性,为什么我们要麻烦地指定它?如果这个声明不是唯一的选择,请给我举个例子


谢谢。

请查看此链接: 它说:

methodParams属性采用 以逗号分隔的类名列表。 method属性需要有一个 符合上述要求的签名 列表该列表可以由任何 以下各项的组合:

Object-Bean验证是 正在进行中。 org.apache.commons.validator.ValidatorAction -正在执行的当前验证程序操作。 org.apache.commons.validator.Field- 正在验证的字段对象。 org.apache.struts.action.ActionErrors -如果验证失败,则要将ActionError添加到的errors对象 失败。 javax.servlet.http.HttpServletRequest -当前请求对象。javax.servlet.ServletContext- 应用程序的ServletContext。 org.apache.commons.validator.validator -当前的org.apache.commons.validator.validator 例子java.util.Locale- 当前用户的区域设置

methodParams似乎可以是所列类型的任意组合,Strurs Validator插件将相应地将实例注入到验证函数调用中

methodParams可以更改