`
longgangbai
  • 浏览: 7308797 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2.0中关于自定义映射器的扩展ActionMapper进行URL中编码设置

阅读更多

  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源代码

    Struts2.0在Struts1的基础上进行了大量的改进和增强,提供了更好的性能、可扩展性和易用性。 源码分析是深入理解Struts2工作原理的关键。在"struts2.0源代码"中,你可以看到框架的核心组件、拦截器、配置解析、动作...

    struts2.0 and freemaker

    2. **拦截器(Interceptor)**:拦截器是Struts2中的重要概念,它们允许开发者插入自定义的处理逻辑,如日志、权限检查等,这些逻辑可以在Action执行前后运行。 3. **配置灵活性**:Struts2的配置可以通过XML、注解...

    struts2.0必须的类库

    Struts2.0是Java Web开发中非常重要的一个框架,它基于MVC(Model-View-Controller)设计模式,提供了一种结构化、可扩展的方式来组织应用程序。在Struts2.0中,类库的选择和配置是实现高效、稳定开发的关键部分。...

    struts2.0资料续

    - **配置Action**: 在struts.xml中配置Action,包括URL映射、结果页面等。 - **视图渲染**: 使用JSP、FreeMarker或其他模板技术来呈现视图。 4. **源码分析** - **Struts2框架源码阅读**:有助于深入理解其工作...

    struts2.0详细配置文档.doc

    7. **配置文件**:在Struts2中,主要的配置文件是struts.xml,它定义了Action、Action的映射、结果类型、拦截器等。此外,也可以通过包的概念来组织配置,使得配置更加清晰和可复用。 与Struts1的比较: Struts2的...

    北大青鸟struts2.0培训基础教程

    9. **插件机制**:Struts2的插件扩展机制使得框架可以根据项目需求进行定制。 **Struts2框架架构**: Struts2的核心控制器是FilterDispatcher,它负责根据请求调用相应的Action。在这个过程中,拦截器起着关键作用...

    Struts2 chm文档

    目录 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的Struts.properties配置文件详解 Struts2是一个基于MVC模式的...通过对Struts.properties配置文件中的这些参数进行设置和配置,开发者可以根据需要自定义Struts2的行为和性能,提高应用程序的开发效率和性能。

    struts2的struts.properties介绍

    **含义**:允许或禁止从URL中调用动态方法。 **示例**:如果设置为`true`,则允许动态方法调用;若为`false`,则禁止。 **应用场景**:在需要提高安全性的场景下,可以设置为`false`,防止潜在的安全风险。 #### ...

    Hibernate3.2_spring2.0_struts2(汉化API)

    Struts2的动作调度器(ActionMapper)和拦截器(Interceptor)机制,允许开发者自定义请求处理流程,增强了灵活性。此外,Struts2与Spring的整合,使得服务层对象可以直接在Action中注入,进一步提升了开发效率。 ...

    struts2附快速入门源码

    "struts2.0中文手册"详细阐述了Struts2的配置、插件、拦截器、动态方法调用等方面的知识。其中,配置文件(struts.xml)是整个框架的配置中心,包含了Action、Result、Interceptor的定义。动态方法调用允许开发者以...

    详解struts2中struts.properties.doc

    11. `struts.mapper.class`: 设定请求映射到Action的映射器,默认映射器是`org.apache.struts2.dispatcher.mapper.ActionMapper`。 通过调整这些属性,开发者可以定制Struts2的行为以适应不同应用的需求。例如,...

    简单理解Struts2中拦截器与过滤器的区别及执行顺序

    Struts2 中拦截器与过滤器的区别及执行顺序 Struts2 中的拦截器(Interceptor)和过滤器(Filter)是两个不同的概念,虽然它们都可以影响请求的处理过程,但它们的作用域、执行顺序和实现机制都有所不同。 拦截器...

    struts2urlplugin:Struts2 插件支持 URL 中的模式匹配,用于动作映射器

    Struts2 插件支持 URL 中的模式匹配以进行动作映射 Struts 2 的插件,允许开发人员控制 URL 如何映射到他们的操作: 使用正则表达式; 通过路径或命名空间将参数传递给动作; 控制允许的 HTTP 方法; 使用替代...

    Java Struts 实现拦截器

    其中,拦截器(Interceptor)是Struts2中的一个关键特性,用于扩展框架的功能,实现诸如事务管理、权限控制、输入验证等功能。 #### Struts2的处理流程 1. **客户端请求**: 当客户端发起HTTP请求时,请求首先到达...

    Struts1与Struts2原理 区别详解汇总

    4. **配置文件struts.xml**:用于定义框架的行为和配置,如Action的映射、拦截器的设置等。 #### Struts2工作流程 1. **用户提交请求**:客户端通过HTTP协议向服务器发送请求。 2. **FilterDispatcher拦截请求**...

    Struts2拦截器源码

    在实际开发中,我们可以通过扩展Struts2的拦截器实现自定义功能。例如,你可以创建一个新的拦截器来实现登录检查、权限控制或性能监控,然后将其添加到拦截器栈中。通过理解和研究Struts2的拦截器源码,我们可以更好...

    struts-2.3.24资源包

    例如,通过分析`com.opensymphony.xwork2.DefaultActionInvocation`类,可以了解Struts2如何调用Action,而`com.struts2.dispatcher.mapper.ActionMapper`接口则揭示了URL到Action映射的逻辑。 再者,jar文件是运行...

Global site tag (gtag.js) - Google Analytics