Strutc 2中Action执行方法详解:execute(), method属性与DMI

需积分: 10 10 下载量 103 浏览量 更新于2024-09-10 收藏 109KB DOCX 举报
在Struts 2框架中,Action类是处理用户请求的核心组件,它定义了应用程序的行为逻辑。本文主要介绍了Action中几种常见的执行方法,包括: 1. **默认执行方法:execute()** Action类中的默认执行方法是`execute()`,当用户发送请求时,Struts2框架首先会调用这个方法。在这个方法内部,开发者通常会检查输入、进行业务逻辑处理,然后根据结果决定跳转到哪个结果页面。在上述示例中,如果登录或注册操作成功,将转向`/method/success.jsp`,失败则可能转向`/method/error.jsp`或返回原页("input"结果)。 2. **method属性配置** 在`struts.xml`配置文件中,可以为Action配置`method`属性来指定特定的处理方法。例如,为`login`和`register` Action设置不同的处理方法,如`<action method="loginAction">...</action>`,这样用户提交表单时会直接调用对应的自定义方法。 3. **DMI(DynamicMethodInvocation)动态方法调用** 动态方法调用允许在运行时动态决定调用哪个方法,这可以通过使用`struts.xml`中的`<param>`元素实现,如`<param name="method">loginAction</param>`。这样可以根据请求参数来动态选择执行的方法。 4. **通配符映射(WildcardMappings)** 使用通配符`*`可以在一个Action上匹配多个URL模式,这样只需一个Action就能处理多个请求。例如,`<action path="*" ...>`。这在需要减少Action数量时非常有用。 5. **提交按钮指定方法** 在JSP页面中,通过`<s:formmethod>`属性可以明确指定表单提交时调用的方法。例如,`<s:formmethod="post" action="login" method="loginAction">...</s:form>`,这样提交时会调用`loginAction`方法。 在实际开发过程中,结合这些方法,开发者可以根据项目的具体需求灵活地设计Action的行为,提高代码的可维护性和灵活性。通过实例配置和截图的展示,本文旨在帮助Struts 2初学者理解并掌握Action的执行机制,以便更好地进行Web应用开发。