`
入云涛
  • 浏览: 155776 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts2获取所有的Action对象值

 
阅读更多
在做项目时,在判断是否存在一个请求的Action时,就需要先去判断Struts管理的Action名称。
使用过滤器获取这个action的所有名称
         private static Map<String, Map<String, ActionConfig>> namespaceActionConfigs = null;//获取所有的Action命名空间
	private PrepareOperations prepare;
    private ExecuteOperations execute;

    public void init(FilterConfig filterConfig) throws ServletException {
        InitOperations init = new InitOperations();
        try {
            FilterHostConfig config = new FilterHostConfig(filterConfig);
            init.initLogging(config);
            Dispatcher dispatcher  = init.initDispatcher(config);
            init.initStaticContentLoader(config, dispatcher);
            
            prepare = new PrepareOperations(filterConfig.getServletContext(), dispatcher);
            execute = new ExecuteOperations(filterConfig.getServletContext(), dispatcher);
            namespaceActionConfigs = dispatcher.getConfigurationManager().getConfiguration().getRuntimeConfiguration().getActionConfigs();
        } finally {
            init.cleanup();
        }

    }


再写一个方法去判断这个action的请求是否存在
//判断用户请求的action是否存在 false(肯定)不存在    true不处理(一般来说存在)
    public boolean isExsitAction(String namespace, String name){
    	if(namespaceActionConfigs!=null){
	    	Map<String, ActionConfig> actions = namespaceActionConfigs.get(namespace);
	        if (actions != null) {
	            if (actions.get(name) == null) {
	            	return false;
	            }
	        }
    	}
    	return true;
    }


这样就可以在调用的时候去判断了,如果不存在就提前sendRedirect.
String namespace = mapping.getNamespace();
String name = mapping.getName();
分享到:
评论

相关推荐

    Struts2在Action中获得Response对象的四种方法

    Struts2 是一个基于MVC 模式的 Web 应用程序框架,它提供了多种方式来获取 Response 对象,以下是四种获得 Response 对象的方法: 方法 1:使用 Struts2 Aware 拦截器 在 Struts2 中,可以通过实现Aware接口来获取...

    Struts2--为Action的属性注入值

    为Action的属性注入值是Struts2的一个关键特性,使得我们可以方便地从请求参数中获取数据并绑定到Action实例上,以便后续的业务处理。 这个特性主要依赖于Struts2的OGNL(Object-Graph Navigation Language)表达式...

    struts2取到页面的值

    在Struts2框架中,获取页面表单提交的值是一个常见的需求,这涉及到Struts2如何解析请求参数、如何在Action类中访问这些参数以及如何处理复杂的对象模型。以下将详细解析Struits2中获取页面值的方法,包括基本类型...

    struts1和struts2获取相对路径的方法

    在Struts2中,由于设计模式的改变,我们不再直接使用Servlet对象,而是通过`ServletActionContext`来获取`ServletContext`。以下是在Struts2中获取相对路径的示例: ```java String upload_filepath = new File...

    Struts2获取request的四种方式

    在Struts2中,经常需要从Action类中获取请求(Request)和响应(Response)对象来处理用户请求和传递数据。本文将详细解释Struts2中获取Request对象的四种不同方式。 1. **Servlet不相关的非IoC取得Request等对象的...

    struts2 使用action属性接收中文参数(post提交)

    在处理用户请求时,Struts2允许开发者通过Action类来接收和处理参数,包括中文参数。当我们需要通过POST方法提交包含中文字符的数据时,可能会遇到编码问题,因为HTTP请求默认使用的是ASCII编码,而中文字符需要UTF-...

    struts2中获得request对象

    在Struts2框架中,获取`HttpServletRequest`对象是开发者经常需要进行的操作,因为这个对象包含了HTTP请求的所有相关信息。本文将详细讲解在Struts2中获取`request`对象的几种常见方法,以及它们的适用场景。 1. **...

    过滤器 Struts2全局变量 action转化do

    2. **全局变量(Global Variables)**:在Struts2中,全局变量通常是指在struts.xml配置文件中定义的可全局访问的对象,如常量、拦截器栈和结果类型。这些配置可以提高代码的复用性和可维护性。 3. **Action转化...

    Struts2_入门篇_基本配置_通配符_参数注入_内置对象获取等。。。

    4. **内置对象获取**:Struts2提供了一系列内置对象,如`ActionContext`、`ValueStack`、`Session`等,开发者可以直接在Action类中使用。例如,`ActionContext`提供了访问请求、会话、上下文等信息的方法;`...

    struts2 实现oracle数据库的增删改查

    2. 配置Struts2的主配置文件(struts.xml),这是框架运行的基础,定义了Action类、结果类型、拦截器等。 3. 创建一个Action类,这个类是业务逻辑的载体,通常会继承自org.apache.struts2.dispatcher.ng.Execute...

    struts2 action 返回json方法(一)源码

    默认情况下,Struts2会把所有非`null`的Action或值栈属性转换成JSON。 5. **自定义JSON输出** 如果需要控制哪些属性被包含在JSON中,或者需要额外的JSON配置,可以在Action类上使用注解`@Results`和`@Result`。...

    Struts2值栈的理解

    Struts2 通过 ValueStack 对象来获取所有相关的值,如请求参数、Action 配置参数、向其他 Action 传递属性值(通过 chain 结果)等等。要获得这些参数值,我们要做的唯一一件事就是在 Action 类中声明与参数同名的...

    struts2 json传输对象文档+jar包

    标题提到的"struts2 json传输对象文档"是指Struts2支持JSON格式的数据传输,使得Action类可以直接返回JSON对象,以便在客户端进行处理。这种功能极大地提高了Web应用的响应速度和用户体验,因为可以避免不必要的页面...

    Struts2中的session用法

    在 Struts2 中,要使用 Session,需要实现 SessionAware 接口,该接口提供了一个 setSession 方法,用于将 Session 对象传递给 Action。在 Login.java 文件中,我们可以看到,Login 类实现了 SessionAware 接口,并...

    Struts2 Struts2 超好的Struts2 pdf 文档

    6. **值栈(Value Stack)**:值栈是Struts2中的一个核心组件,它存储了请求中的所有对象。ActionContext提供了对值栈的访问,使得视图能够方便地获取和展示数据。 7. **Freemarker和Velocity模板**:Struts2支持...

    struts1和struts2的区别

    在视图层,Struts1依赖JSP标准机制绑定对象,而Struts2采用ValueStack技术,允许taglib访问值栈中的值,无需在视图和对象之间建立硬绑定,提高了代码复用性。 类型转换方面,Struts1的ActionForm属性通常是字符串,...

    Struts2SpringUnitDemo单元测试

    整合测试可能会包括检查Action是否能正确地从Spring容器获取依赖,以及在处理请求后是否能正确地返回到Struts2的结果流程。 6. **测试驱动开发(TDD)**:通过这个示例,我们可以理解开发者可能采用了TDD(Test-...

    struts2jar包

    在项目中使用Struts2时,我们需要配置struts2的主配置文件(struts.xml),定义Action、结果类型、拦截器栈等。Action是业务逻辑的入口点,Result表示一个操作完成后转向的页面或结果。拦截器是Struts2的一大特色,...

    Struts2的Action中获得request response session几种方法

    为了使Action能够访问到HTTP请求(HttpServletRequest)、响应(HttpServletResponse)、会话(HttpSession)等关键对象,Struts2提供了多种获取这些对象的方法。以下将详细介绍如何在Struts2的Action中获取request...

Global site tag (gtag.js) - Google Analytics