【问题标题】:How does the validate() method in Struts 2 get the result "input"?Struts 2 中的 validate() 方法如何得到结果“输入”?
【发布时间】:2014-12-02 18:00:05
【问题描述】:

在 Struts 2 中,当 validate() 方法中的检查失败时返回 "input"。然后我将<result name="input"> 映射到struts.xml 中以获取相应的页面。

我只是想知道当validate() 方法本身返回void 时,它是如何得到"input"String

@Override
public void validate() {
    // if checks here
}

我想了解这个概念。

【问题讨论】:

  • 您可以阅读此文档或thisthis
  • 那么您需要添加字段或操作错误。框架运行验证,将这些值设置到映射中,如果映射为空,则运行 execute()。您还可以查看代码(使用 maven 添加源),然后检查 ActionSupport,您可以看到代码的操作端(而不是调用端),但它应该足够清楚它是如何工作的。您提供 struts2 调用并确定要做什么的功能。典型的框架编程,遵循好莱坞模式:你不叫我们,我们叫你。

标签: java validation jakarta-ee struts2 struts2-interceptors


【解决方案1】:

validate() 方法本身不返回任何内容 (void)。它由validation interceptor 调用。

但是在这个拦截器之后通常是workflow interceptor。如果操作hasErrors(),则此拦截器负责返回INPUT 结果。

【讨论】:

  • 非常感谢您实际提供了这个问题的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-24
相关资源
最近更新 更多