看到李剛老師寫的Struts2權威指南中寫到的動態方法調用,覺得那里面通配符的用法太複雜了,還要處理很多的配置文件,經過多次試驗,發現了一個簡單的方法可以實現動態方法調用,那就是直接使用struts2標籤的
<submit method="">method屬性指向該Action的邏輯處理方法。比如(jsp文件)
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title><s:text name="loginPage"/></title>
</head>
<body>
<!-- 使用form標籤生成表單元素 -->
<s:form action="Login">
<s:textfield name="username" key="user"/>
<s:password name="password" key="pass"/>
<s:submit key="regist" method="regist"/>
<s:submit key="login"/>
</s:form>
</body>
</html>
上面的用到了國際化資源文件,key屬性的值對應資源文件的key, 上面的表單有兩個按鈕,一個是“注冊”用的,一個是“登錄”用的,用了<s:submit key="regist" method="regist"/>后,不需要在struts.xml配置文件中配置動態方法調用的信息比如:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="Struts2Test" extends="struts-default">
<action name="Login" class="action.LoginAction">
<result name="input">/login.jsp</result>
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
像上面這樣配置就夠了。當用戶點擊“注冊”按鈕時,struts2框架會調用對應Action類的regist()方法去處理邏輯,用戶點擊“登錄”按鈕后因為該標籤沒有設置method的屬性值,struts2框架會調用默認的方法execute()去處理。
當然不要忘了,在Action類中增加邏輯處理方法regist()。
這樣就可以實現動態方法的調用了。
分享到:
相关推荐
在Struts2中,动态方法调用(Dynamic Method Invocation,DMI)是一种特性,允许我们通过URL直接调用Action类的方法,而无需在配置文件中显式指定。这在某些情况下提供了更大的灵活性。 在Struts2的动态方法调用中...
下面将详细探讨Struts2中动态方法调用的实现机制、配置方式以及应用场景。 ### Struts2动态方法调用的实现原理 在Struts2中,动态方法调用基于Action类中的方法名与URL中的参数相匹配的原则。当一个请求到达时,...
Struts2_动态方法调用,使用struts2架构的动态方法进行资源调用
在Struts2中,JavaScript可以用来发起Ajax请求,动态调用后台Action的方法。例如,我们可以使用jQuery的`$.ajax`或`$.post`方法,配合Struts2的ActionContext,将请求参数传递给服务器。在服务器端,Struts2会解析...
本文档将详细介绍如何在Struts 2中实现Action动态方法调用,并通过实例演示其具体应用。 #### 二、基础知识回顾 在开始深入探讨动态方法调用之前,让我们先回顾一下Struts 2框架的基本概念。 1. **Action**: 在...
Struts2 动态方法调用(DMI,Dynamic Method Invocation)是Struts2框架中一个特色功能,允许开发者通过URL直接调用Action类中的方法,而无需预先在配置文件中显式声明这些方法。这种机制增加了开发的灵活性,但也...
本文将重点讨论Struts2中的API耦合和动态方法调用,这两种特性对于理解框架的工作原理和提高代码的灵活性至关重要。 首先,我们来看看Struts2 API耦合的几种方式: 1. **ActionContext类**:ActionContext是Struts...
2. 动态方法调用 在URL请求中,我们可以传递一个名为`method`的参数,Struts2会根据这个参数值来寻找并执行相应的方法。例如,访问`http://example.com/multiMethodTest.action?method=executeMethod2`,Struts2就...
本文将深入探讨Struts2中的动态调用之通配符特性。 首先,我们要理解在Struts2中,动态调用的基本概念。它允许我们不在配置文件中为每个Action的每一个method单独指定一个URL,而是通过某种约定或规则来映射多个...
综上所述,理解和熟练运用Struts2中直接和间接访问Servlet API以及动态方法调用是提升Java Web开发能力的重要环节。通过合理设计和配置,我们可以创建出既高效又安全的Struts2应用程序。而文件列表中的"ch2"可能指的...
在 Struts2 中,我们可以使用不同的方式来动态调用 Action 的指定方法,例如使用表单提交、struts.xml 配置、通配符方法等方式。此外,我们还可以配置默认的 Action 和全局结果,以便更好地管理我们的应用程序。
在Struts2中,Action是业务逻辑处理的核心,而通配符的使用则是Struts2框架中一种灵活的配置方式,允许我们以更简洁的方式调用同一个Action中的不同方法。下面我们将深入探讨如何利用Struts2的通配符来实现这一功能...
在Struts2中,动态方法调用是通过ActionMapper和ActionProxy组件实现的。 首先,我们来理解Struts2的核心架构。Struts2框架基于Model-View-Controller(MVC)模式,它提供了一种灵活的方式来处理HTTP请求,并将这些...
在Struts2中,异步调用机制是实现页面动态更新和提高用户体验的关键技术之一。这个案例“struts014”很可能展示了如何在Struts2中实现异步调用来处理耗时操作,如数据库查询或复杂计算。 异步调用的基本概念是,...
利用Struts 2框架创建一个web项目chap2_e22,实现用户登录过程。具体要求是在loginAction类中分别用login()和registered()处理用户登录和注册的过程,分别创建login.jsp和register.jsp两个页面实现登录和注册的...
在Struts2中,登录功能通常涉及以下步骤: 1. 创建一个Action类,该类代表一个业务逻辑单元,比如LoginAction。 2. 定义Action类中的方法,如execute(),处理用户的登录请求。 3. 创建对应的JSP页面,用户在其中输入...
在Struts2中,动态方法调用是其一大特性,允许开发者通过URL直接调用Action类中的方法。默认情况下,Struts2会尝试将Action类的公共方法与请求路径关联,如果请求路径与Action类的方法名匹配,那么这个方法就会被...
在 Struts2 中,我们可以通过指定 Method 属性来实现动态方法调用。例如: ```xml <result>/jsp/add.jsp ``` 在上面的配置中,我们指定了 `method` 属性为 `add`,这样当我们访问 `addAction` 时,Struts2 将调用...
3. **动态方法调用**:Struts2支持动态方法调用,即通过URL中的参数名自动映射到Action类的方法,大大简化了控制器的配置。 4. **国际化支持**:Struts2内置了强大的国际化支持,可以通过配置文件轻松实现多语言切换...
以上就是Struts2中动态填充下拉框的基本流程。在实际开发中,我们还需要考虑错误处理、数据校验、性能优化等因素。提供的jar包可能包含了Struts2的核心库和其他必要的依赖,如数据库驱动等,确保项目能正常运行。 ...