返回

Apache Struts 2:如何解决“AddTaskAction 未定义结果”错误?

java

Apache Struts 2:解决“AddTaskAction 未定义结果”错误

概述

当在 Apache Struts 2 应用程序中使用 AddTaskAction 时,您可能会遇到以下错误:

错误原因:

你没有在 struts.xml 中为你的 AddTaskAction 定义结果。结果名称应与方法签名中的返回值相匹配。

解决方法:

要在 struts.xml 中定义结果,请执行以下步骤:

  1. 添加一个 action 元素,其中包含 nameclassmethod 属性,如下所示:
<action name="AddTaskAction" class="actions.AddTaskAction" method="post">
  1. action 元素内,添加以下结果:
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
<result name="input">/addTask.jsp</result>
  • success 结果表示在成功执行操作后要重定向到的 JSP 页面。
  • error 结果表示在操作失败时要重定向到的 JSP 页面。
  • input 结果表示在验证失败时要重定向到的 JSP 页面。

完整示例

现在,您的 struts.xml 应该如下所示:

<action name="AddTaskAction" class="actions.AddTaskAction" method="post">
  <result name="success">/success.jsp</result>
  <result name="error">/error.jsp</result>
  <result name="input">/addTask.jsp</result>
</action>

结论

通过按照这些步骤,您应该能够解决 AddTaskAction 未定义结果错误。请注意,结果名称应始终与方法签名中的返回值相匹配。

常见问题解答

  1. 为什么需要定义结果?
    结果定义操作成功或失败后应用程序应该采取的措施。
  2. 如何定义更多结果?
    您可以在 action 元素中添加任意数量的 result 元素。
  3. 可以命名结果为任意名称吗?
    否,结果名称必须与方法签名中的返回值相匹配。
  4. 如何重定向到特定的 JSP 页面?
    result 元素中使用 name 属性指定 JSP 页面的路径。
  5. 如何重定向到一个操作?
    result 元素中使用 type 属性并将其设置为 redirectAction