`

struts 1.x 和通配符的使用 MappingDispatchAction

阅读更多

环境多文件配置<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>TomcatEjb</display-name>
  
  <!-- Standard Action Servlet Configuration -->
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-test.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
 </servlet>

  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 MappingDispatchAction配置文件

 

org.apache.struts.actions 
Class MappingDispatchAction

java.lang.Object
  

extended by

org.apache.struts.action.Action
      

extended by

org.apache.struts.actions.BaseAction
          

extended by

org.apache.struts.actions.DispatchAction
              

extended by

org.apache.struts.actions.MappingDispatchAction

public class MappingDispatchAction
extends DispatchAction

 

An abstract Action that dispatches to a public method that is named by the parameter attribute of the corresponding ActionMapping. This is useful for developers who prefer to combine many related actions into a single Action class.

To configure the use of this action in your struts-config.xml file, create an entry like this:


   <action path="/saveSubscription"
           type="org.example.SubscriptionAction"
           name="subscriptionForm"
          scope="request"
          input="/subscription.jsp"
      parameter="method"/>
 

where 'method' is the name of a method in your subclass of MappingDispatchAction that has the same signature (other than method name) of the standard Action.execute method. For example, you might combine the methods for managing a subscription into a single MappingDispatchAction class using the following methods:

 

例子通配符的使用

 

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>
  <action-mappings>
      <action path="/test/TestAction_*" type="com.test.action.TestAction" parameter="{1}TestAction">
          <forward name="add" path="/test/addTest.jsp" />
      </action>
  </action-mappings>

</struts-config>

 Action 对像

 

package com.test.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;

public class TestAction extends MappingDispatchAction {
	

	//additionTest
	public ActionForward addTestAction(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
		request.setAttribute("usb", "Struts 1.x Addition Successful...");
		return mapping.findForward("add");
		
	}
	
	//additionTest
	public ActionForward deleteTestAction(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
		request.setAttribute("usb", "Struts 1.x Delete Successful...");
		return mapping.findForward("add");
		
	}
	
	//additionTest
	public ActionForward listTestAction(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response){
		request.setAttribute("usb", "Struts 1.x List Successful...");
		return mapping.findForward("add");
		
	}
	
	
	

}

 

 

  • 大小: 177.9 KB
分享到:
评论

相关推荐

    Struts 2.X权威指南(第3版) 第二章源码

    章节可能会讲解如何配置全局和局部的常量,以及如何使用通配符映射来简化配置。 此外,章节可能还涉及了Struts 2的OGNL(Object-Graph Navigation Language)表达式语言,它是框架中的数据绑定和访问机制。开发者...

    struts2.5+框架使用通配符与动态方法常见问题小结

    Struts2.5框架使用通配符与动态方法是两个非常重要的概念,它们可以帮助开发者更好地实现灵活的方法调用和减少配置文件中的action数量。然而,在使用这些功能时,需要注意可能出现的错误提示,并遵循正确的解决步骤...

    Struts2通配符

    ### Struts2通配符详解 #### 一、引言 Struts2是基于MVC设计模式的一个开源框架...通过对不同类型的通配符配置进行了解和实践,开发者能够更好地掌握Struts2框架的核心技术,从而构建出更加灵活和高效的Web应用程序。

    struts2通配符示例代码

    在Struts2的配置中,通配符(Wildcard)的使用是一个非常实用的功能,它使得URL映射更加灵活,减少了重复配置。下面将详细解释Struts2通配符的用法,并结合示例代码进行解析。 1. **Struts2通配符概述** Struts2的...

    Struts2_Action学习笔记、通配符{1},{2}

    通过上述分析可以看出,Struts2提供了丰富的特性来支持Web应用程序的开发,尤其是通过Namespace和ActionMethod等机制来组织和管理Action,以及利用通配符配置来简化配置文件,大大提高了开发效率和维护性。

    Struts2入门教程(全新完整版)

    10.为什么要使用struts2代替struts1.x 7 二、struts.xml配置及例程 7 1.配置文件的优先级 7 2.配置形式 8 3.package配置相关 8 4.分工合作include:指定多个配置文件 10 5.tomcat认证访问 10 6.初识拦截器 11 7....

    Everything-1.4.1.969.x64-Setup.exe

    这款软件的最新版本是1.4.1.969的64位版本,即"Everything-1.4.1.969.x64-Setup.exe"安装文件。 在Windows操作系统中,内置的文件搜索功能可能在面对大量文件时显得力不从心,搜索速度较慢且有时准确性不高。而...

    struts2.pdf

    Struts2提供了丰富的配置选项,比如为Action提供别名、动态方法调用、使用通配符映射以及参数自定义等。这些配置选项极大地提高了框架的灵活性和扩展性。 在Struts2中,使用OGNL(Object-Graph Navigation Language...

    Struts2中使用通配符优化配置

    在Struts2中,使用通配符优化配置是实现这一目标的有效手段。通配符允许开发者以一种更加灵活的方式定义Action,避免了为每一个Action单独编写配置项的繁琐工作。 首先,我们来理解一下什么是通配符。在Struts2的...

    Everything-1.4.1.935.x64.rar

    这个压缩包包含了两个不同形式的程序,一个是"Everything-1.4.1.935.x64.zip",这是便携版本,意味着用户无需安装即可直接运行,方便在不同的计算机上使用。另一个是"Everything-1.4.1.935.x64-Setup.exe",这是安装...

    struts2动态调用之通配符

    总的来说,Struts2的通配符动态调用是提高开发效率和代码可维护性的利器。通过合理利用这一特性,我们可以减少配置文件的冗余,使项目结构更加清晰,同时也便于扩展和维护。在实际开发中,应熟练掌握并灵活运用这一...

    Everything-1.4.1.969.x64-Setup

    标题中的"Everything-1.4.1.969.x64-Setup"表示这是一个64位版本的1.4.1.969版Everything安装程序。 1. **Everything的主要特点**: - **即时搜索**:一旦安装并运行,Everything几乎立即显示计算机上的所有文件和...

    Everything-1.4.1.1024.x64-Setup

    还支持通配符搜索,使用星号(*)和问号(?)等字符进行模糊匹配。可设置排除过滤器,从搜索结果中排除特定类型的文件或文件夹,缩小搜索范围。除图形界面外,还提供命令行界面,满足高级用户的灵活需求。 特点:...

    Everything-1.4.1.877.x64-Setup.zip

    该软件的安装文件名为"Everything-1.4.1.877.x64-Setup.exe",通过这个文件,用户可以在自己的计算机上安装并体验这一强大的搜索工具。 首先,"Everything"的核心特性在于其即时搜索功能。与Windows自带的搜索功能...

    struts2通配符的使用详解

    在Struts2的配置文件`struts.xml`中,可以通过以下方式使用通配符: ```xml &lt;package name="user" extends="struts-default" namespace="/"&gt; *" class="com.test.action.UserAction" method="{1}"&gt; &lt;result&gt;/user...

    Struts2 如何使Action取得属性范围 通配符 国际化等内容

    - Struts2的拦截器支持使用通配符来指定Action的执行顺序或拦截条件,例如在`struts.xml`中配置拦截器时可以使用通配符来指定某些特定的Action被拦截。 - **国际化处理**: - Struts2内置了国际化支持机制,允许...

    Everything-1.4.1.1009.x64.zip

    下载的压缩包名为"Everything-1.4.1.1009.x64.zip",其中包含两个文件:"Everything.exe"是主程序,"Everything.lng"则是语言包,用于设置软件界面的语言。安装时,只需双击"Everything.exe",然后在弹出的界面中...

Global site tag (gtag.js) - Google Analytics