Java 为什么我们必须在struts验证插件中指定“methodParams”?
我检查了Jakarta Struts Live一书中的验证器源代码和用户定义规则示例。当人们在validator-rules.xml中定义验证器规则时,以下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
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可以更改