当您从视图层调用某些操作时,拦截器会在操作执行之前运行。
似乎您的操作使用默认堆栈,其中包括
validation
和 workflow
拦截器。第一个拦截器对扩展 ActionSupport
的操作执行验证,第二个拦截器检查是否存在错误,然后返回 INPUT
结果。
但是,如果您在操作类上使用一些
-validation.xml
或基于注释的验证,那么映射到此类方法的每个操作都会由上面的拦截器进行验证,除非您已将这些拦截器配置为排除方法,或者使用基于前缀的方法验证方法,或跳过验证注释被应用。
所有这些情况都是为了避免对某些操作未使用的代码运行验证器,并且需要避免它们或重新配置拦截器堆栈以在没有这些拦截器的情况下运行。
在您的情况下,返回
json
结果的操作不需要验证字段而不是 term
。如何配置和覆盖相关操作的拦截器配置:如何在同一页面上获取结果,为什么需要输入?.
使用 将 JSON 结果作为自动完成器的选择框的工作示例。
Autocompleter
的源代码示例中使用的操作源代码。