在struts1中,表单bean和表单action有什么用



例如,如果表单bean用于存储通过action="submitDetailForm"连接的JSP表单的变量,那么ActionForm的作用是什么?

我正在开发的应用程序令人困惑的是,它的表单是实际的bean,但有一个bean文件夹可以解析请求结果。

表单映射到操作。它们属于哪个文件夹并不重要。有时表单bean的类与操作bean在同一文件夹中,有时表单bean在单独的文件夹中。您可以在struts-config.xml中找到使用的文件夹。

如果您阅读Struts-structs-config.xml操作映射的解释,一切都会变得清晰起来:

<form-bean>type属性用于输入可能扩展ActionForm的bean类的FQCN。Struts需要能够在需要时实例化bean。

您还可以阅读本文,快速了解Struts:框架

struts-config.xml文件可以有几个部分。我们将看到的第一部分是<action-mappings>部分。<action>告诉Struts从ActionServlet调用哪个类。只有pathtype是必需的条目。当找到具有path模型的URL时,type告诉Struts要调用哪个Action类。

为了在<action-mappings>部分中输入一个类并由ActionServlet调用,它必须扩展类org.apache.struts.action.Action(请参见清单3(。ActionServlet将执行Action对象的perform()方法。执行方法如下:

public ActionForward perform(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException

ActionMappingActionForm对象将包含在struts-config.xml<action-mappings><form-beans>部分中找到的信息。HttpServletRequestHttpServletResponse对象来自servlet。

最新更新