Struts2.0 采用默认的映射器为DefaultActionMapper:
public class DefaultActionMapper implements ActionMapper
protected static final String METHOD_PREFIX = "method:";
protected static final String ACTION_PREFIX = "action:";
protected static final String REDIRECT_PREFIX = "redirect:";
protected static final String REDIRECT_ACTION_PREFIX = "redirectAction:";
扩展如下:
public class EncodedActionMapper extends DefaultActionMapper {
@Override
public String getUriFromActionMapping(ActionMapping mapping) {
try {
return URLEncoder.encode(super.getUriFromActionMapping(mapping), "UTF-8").replaceAll("%2F", "/");
} catch (UnsupportedEncodingException e) {
// ignore
return null;
}
}
}
在Struts2.0中配置Action映射器的采用的非默认映射类
# struts.custom.properties=application,com/webwork/extension/custom
struts.mapper.class=com.unutrip.callcenter.web.ext.EncodedActionMapper
也可以在struts.xml 的常量配置
分享到:
相关推荐
Struts2.0在Struts1的基础上进行了大量的改进和增强,提供了更好的性能、可扩展性和易用性。 源码分析是深入理解Struts2工作原理的关键。在"struts2.0源代码"中,你可以看到框架的核心组件、拦截器、配置解析、动作...
2. **拦截器(Interceptor)**:拦截器是Struts2中的重要概念,它们允许开发者插入自定义的处理逻辑,如日志、权限检查等,这些逻辑可以在Action执行前后运行。 3. **配置灵活性**:Struts2的配置可以通过XML、注解...
Struts2.0是Java Web开发中非常重要的一个框架,它基于MVC(Model-View-Controller)设计模式,提供了一种结构化、可扩展的方式来组织应用程序。在Struts2.0中,类库的选择和配置是实现高效、稳定开发的关键部分。...
- **配置Action**: 在struts.xml中配置Action,包括URL映射、结果页面等。 - **视图渲染**: 使用JSP、FreeMarker或其他模板技术来呈现视图。 4. **源码分析** - **Struts2框架源码阅读**:有助于深入理解其工作...
7. **配置文件**:在Struts2中,主要的配置文件是struts.xml,它定义了Action、Action的映射、结果类型、拦截器等。此外,也可以通过包的概念来组织配置,使得配置更加清晰和可复用。 与Struts1的比较: Struts2的...
9. **插件机制**:Struts2的插件扩展机制使得框架可以根据项目需求进行定制。 **Struts2框架架构**: Struts2的核心控制器是FilterDispatcher,它负责根据请求调用相应的Action。在这个过程中,拦截器起着关键作用...
目录 1.Struts 2权威指南——第1章 Struts 2概述.doc 2.truts 2权威指南——第2章 Struts 2下的HelloWorld.doc 3.Struts 2权威指南——第3章 Struts...11.改写Restful2ActionMapper让Struts2支持REST风格的URL映射.doc
Struts2的Struts.properties配置文件详解 Struts2是一个基于MVC模式的...通过对Struts.properties配置文件中的这些参数进行设置和配置,开发者可以根据需要自定义Struts2的行为和性能,提高应用程序的开发效率和性能。
**含义**:允许或禁止从URL中调用动态方法。 **示例**:如果设置为`true`,则允许动态方法调用;若为`false`,则禁止。 **应用场景**:在需要提高安全性的场景下,可以设置为`false`,防止潜在的安全风险。 #### ...
Struts2的动作调度器(ActionMapper)和拦截器(Interceptor)机制,允许开发者自定义请求处理流程,增强了灵活性。此外,Struts2与Spring的整合,使得服务层对象可以直接在Action中注入,进一步提升了开发效率。 ...
"struts2.0中文手册"详细阐述了Struts2的配置、插件、拦截器、动态方法调用等方面的知识。其中,配置文件(struts.xml)是整个框架的配置中心,包含了Action、Result、Interceptor的定义。动态方法调用允许开发者以...
11. `struts.mapper.class`: 设定请求映射到Action的映射器,默认映射器是`org.apache.struts2.dispatcher.mapper.ActionMapper`。 通过调整这些属性,开发者可以定制Struts2的行为以适应不同应用的需求。例如,...
Struts2 中拦截器与过滤器的区别及执行顺序 Struts2 中的拦截器(Interceptor)和过滤器(Filter)是两个不同的概念,虽然它们都可以影响请求的处理过程,但它们的作用域、执行顺序和实现机制都有所不同。 拦截器...
Struts2 插件支持 URL 中的模式匹配以进行动作映射 Struts 2 的插件,允许开发人员控制 URL 如何映射到他们的操作: 使用正则表达式; 通过路径或命名空间将参数传递给动作; 控制允许的 HTTP 方法; 使用替代...
其中,拦截器(Interceptor)是Struts2中的一个关键特性,用于扩展框架的功能,实现诸如事务管理、权限控制、输入验证等功能。 #### Struts2的处理流程 1. **客户端请求**: 当客户端发起HTTP请求时,请求首先到达...
4. **配置文件struts.xml**:用于定义框架的行为和配置,如Action的映射、拦截器的设置等。 #### Struts2工作流程 1. **用户提交请求**:客户端通过HTTP协议向服务器发送请求。 2. **FilterDispatcher拦截请求**...
通过自定义ActionMapper,你可以自定义URL格式,甚至实现RESTful风格的路由。 2. `ActionProxy`:由`ActionProxyFactory`创建,是Action的代理,持有Action实例的`ActionInvocation`。它负责获取Action,无论是直接...
在实际开发中,我们可以通过扩展Struts2的拦截器实现自定义功能。例如,你可以创建一个新的拦截器来实现登录检查、权限控制或性能监控,然后将其添加到拦截器栈中。通过理解和研究Struts2的拦截器源码,我们可以更好...
例如,通过分析`com.opensymphony.xwork2.DefaultActionInvocation`类,可以了解Struts2如何调用Action,而`com.struts2.dispatcher.mapper.ActionMapper`接口则揭示了URL到Action映射的逻辑。 再者,jar文件是运行...