动态方法调用的两种方式
1 . 使用!+方法名调用指定方法
假设访问某一个action的url为 http://localhost:8080/hellword/dept/list.action
再假设在action中有个login()方法
要调用login方法的url为 http://localhost:8080/hellword/dept/list!login.action
如果要禁止这种访问方式,在struts.xml中可以配置参数
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
此方式在api中已经过时,不推介使用这种方式
2 . 使用通配符定义action
package name="employee" namespace="/control/employee" extends="struts-default">
<action name="list_*" class="cn.itcast.action.HelloWorldAction" method="{1}">
<result name="success">/WEB-INF/page/message.jsp</result>
</action>
</package>
要访问login方法的url为 http://localhost:8080/hellword/dept/lis_login.action
分享到:
相关推荐
本文将重点讨论Struts2中的API耦合和动态方法调用,这两种特性对于理解框架的工作原理和提高代码的灵活性至关重要。 首先,我们来看看Struts2 API耦合的几种方式: 1. **ActionContext类**:ActionContext是Struts...
在Struts2框架中,直接和间接访问Servlet API以及动态方法调用是两个关键概念,它们对理解和优化应用性能至关重要。 首先,让我们深入理解直接访问Servlet API。在传统的MVC模式中,Servlet扮演着控制器的角色,...
Struts2提供两种主要的输入验证方式:客户端验证和服务器端验证。 1. 客户端验证:通过JavaScript在用户提交表单前检查输入,可以提供实时反馈,但安全性较低,因为JavaScript可以被禁用或篡改。 2. 服务器端验证:...
这两种方式都利用了Struts2的拦截器(Interceptor)机制来解析URL并决定调用哪个Action方法。在实际开发中,动态方法调用能帮助我们实现更加灵活的URL设计,但同时也需要注意安全性问题,因为它可能导致意外的方法被...
同时,Struts2的动态方法调用(Dynamic Method Invocation,DMI)功能允许通过URL直接调用Action的方法,增强了路由的可配置性。 Struts2的配置文件是其另一大特色。XML配置文件可以定义Action、结果类型、拦截器栈...
在修复 S2-033 漏洞时,我们可以采取两种方法:一是关闭动态方法调用,在 struts.xml 中的 `”struts.enable.DynamicMethodInvocation” value=”true” />` 改为 `”struts.enable.DynamicMethodInvocation” value...
10. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持动态方法调用,使得Action方法的调用不再局限于固定的命名规则,增加了灵活性。 综上所述,Struts2是一个全面的Web开发框架,它提供了许多功能...
该属性指定了Struts 2的对象类型检测机制,通常支持`tiger`和`notiger`两种属性值。其中`tiger`表示兼容Java 5及以上版本的类型检测,而`notiger`则表示不启用这些新特性。 #### struts.multipart.parser 指定了...
2. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持动态方法调用,使得Action方法可以根据传入的参数来决定执行哪个方法。 3. **结果类型(Results)**:Struts2支持多种结果类型,如dispatcher(用于...
6. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持动态方法调用,意味着Action方法可以根据请求参数动态选择。这提高了代码的可复用性和可扩展性。 7. **异常处理**:Struts2提供了一套完整的...
动态方法调用(Dynamic Method Invocation,DMI)是Struts框架中的一个重要特性,允许开发者根据不同的请求调用Action类的不同方法,实现灵活的业务逻辑处理。在本例中,我们讨论的是如何结合通配符来更高效地使用...
Struts2支持XML和注解两种配置方式,提供了高度的灵活性。 **7. 动态方法调用** 动态方法调用允许直接根据URL调用Action中的方法,而无需预先硬编码。这提高了代码的可读性和可维护性。 **8. 国际化与本地化** ...
确保JSP页面的编码格式与系统编码一致,可以采用以下两种方式之一进行设置: - 在JSP页面的顶部加入以下声明,指定页面的字符集为UTF-8: ```jsp ;charset=UTF-8" %> ``` - 如果使用的是GBK或其他编码,则需要...
Struts2引入了动态方法调用(Dynamic Method Invocation,DMI),允许根据URL中的Action名动态调用Action类的方法,提高了灵活性。 **5. Interceptors(拦截器)** 拦截器是Struts2的一大特色,它们在Action执行...
- **动态方法调用**:Struts2支持动态方法调用,允许根据请求参数自动调用相应的Action方法,提高了代码的复用性和可维护性。 - **类型转换和格式化**:Struts2内置了类型转换和格式化机制,可以自动将请求参数转换...
10. **动态方法访问(Dynamic Method Invocation,DMI)**:通过动态方法访问,Struts2可以基于请求参数调用Action方法,增加了灵活性。 在实际项目中,"struts2 jar包"通常包含以下部分: - `struts2-core.jar`:...
- **作用**:该属性用于指定Struts2的类型检测机制,支持`tiger`和`notiger`两种属性值。具体选择哪种取决于应用的需求。 #### 5. 文件上传相关属性 - **struts.multipart.parser**:该属性指定处理`multipart/form...
本文将详细介绍Struts2中的DMI动态调用的两种实现方式。 1. **XML配置文件指定方法** 在`struts.xml`配置文件中,我们可以直接为Action定义要执行的方法。例如,以下配置表示当请求`/user/userAdd`时,会调用`...
在配置方面,Struts2 2.3支持两种配置方式:XML配置和注解配置。XML配置文件通常为`struts.xml`,用于定义Action、结果类型、拦截器栈等。而注解配置则可以直接在Action类或者方法上添加,使代码更加简洁易读。同时...
2. **配置机制**:Struts2支持XML和注解两种配置方式。XML配置文件通常在`struts.xml`中定义,而注解则可以直接在Action类上使用,简化配置工作。 3. **拦截器(Interceptor)**:拦截器是Struts2的一个重要特性,...