`
sinwee
  • 浏览: 5014 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts2动态访问方式

阅读更多
strtus2中对action的访问形式

对于对action的访问方式有三种
  • 1.写死的形式 也就是说当你访问一个路径是,在struts2.xml中就要写死,例如调用增加的方法<action name="hello" class="com.test.HelloAction" method="add">
  • </action>,这时要是在调用删除的方法就必须重新再写一个action 例如:<action name="hello" class="com.test.HelloAction" method="delete">
  • </action>
  • 这样的问题就是会产生多个action。
  • 2.使用!的形式
  • 3.使用通配符的方式

对于第二种和第三种,值需要在配置文件中写一个action就可以,具体是调用的是哪个方法是由客户端输入的访问路径决定的。
示例代码如下:

DMI.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>动态方法调用</title>
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <a href="${pageContext.request.contextPath }/DMIAction!test1.action">"!"形式调用1</a>
    <a href="${pageContext.request.contextPath }/DMIAction!test2.action">"!"形式调用2</a>
    <br/>
    <a href="${pageContext.request.contextPath }/DMIAction_test3.action">通配符的形式调用1</a>
    <a href="${pageContext.request.contextPath }/DMIAction_test4.action">通配符的形式调用2</a>
  </body>
</html>

DMI1.jsp:
 <body>
    "!"的形式访问test1方法
  </body>

DMI2jsp:
<body>
    "!"的形式访问test2
  </body>

DMI3.jsp:
 <body>
    通配符的形式访问test3
  </body>

DMI4jsp:
<body>
    通配符的形式访问test4
  </body>


DMIAction.java:
package com.sinwee.action;

import com.opensymphony.xwork2.ActionSupport;

public class DMIAction extends ActionSupport {

	/**
	 * 
	 */
	private static final long serialVersionUID = 999956944790156527L;
	
	public String test1() {
		return "gantanhao1";
	}
	
	public String test2() {
		return "gantanhao2";
	}
	
	public String test3() {
		return "tongpeifu1";
	}
	
	public String test4() {
		return "tongpeifu2";
	}
}


strtus2.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<constant name="struts.devMode" value="true" />
    <package name="blogs" namespace="/" extends="struts-default">
        <action name="DMIAction" class="com.sinwee.action.DMIAction">
        	<result name="gantanhao1">
        		/WEB-INF/pages/DMI1.jsp
        	</result>
        	
        	<result name="gantanhao2">
        		/WEB-INF/pages/DMI2.jsp
        	</result>
        	
        </action>
        
        <action name="DMIAction_*" class="com.sinwee.action.DMIAction" method="{1}">
       
        	<result name="tongpeifu1">
        		/WEB-INF/pages/DMI3.jsp
        	</result>
        	
        	<result name="tongpeifu2">
        		/WEB-INF/pages/DMI4.jsp
        	</result>
        </action>
    </package>
</struts>
分享到:
评论

相关推荐

    struts2动态访问调用-method方法

    Struts2作为一款流行的Java Web框架,其动态访问调用机制是其强大特性的体现之一。在实际开发中,我们经常需要根据用户的不同操作来执行不同的业务逻辑,这时`struts2`的`method`属性就显得尤为重要。本文将深入探讨...

    struts2 action的三种访问方式

    本篇文章将详细介绍Struts2 Action的三种访问方式:传统方式、通配符方式和动态方式。 1. **传统方式(Static Dispatch)** 传统方式是最基础的Action访问方式,通过硬编码URL来映射Action。在`struts.xml`配置...

    struts 2 action 动态调用

    本文详细介绍了Struts 2框架中Action动态方法调用的实现方式。通过这种方式,可以更灵活地管理业务逻辑,减少代码重复,提高程序的可维护性和扩展性。掌握了这一特性后,开发者可以在实际项目中更加高效地运用Struts...

    Struts2访问request,session,application的四种方式

    在Struts2中,有四种主要的方式可以用来操作request、session和application上下文中的数据。这篇内容将深入探讨这四种方法,并结合源码和实用工具来帮助理解。 1. **ActionContext**: Struts2的核心组件...

    Struts2访问ServletAPI

    总之,Struts2提供了多种方式来访问Servlet API,方便开发者在MVC框架下进行更灵活的控制。选择哪种方式取决于具体的需求和项目结构。合理地利用这些方法,可以有效地提高代码的可维护性和灵活性。在实际开发中,应...

    struts2-scan_struts2-scan_struts2scan_scan_struts2漏洞_

    在使用"struts2-scan.py"这个Python脚本时,你需要确保你有相应的环境支持Python运行,并且对目标Struts2应用有一定的访问权限。通常,这个脚本会遍历一系列的漏洞测试用例,针对每个可能的漏洞进行探测。扫描完成后...

    Struts2接口文档

    开发者可以通过OGNL在JSP页面上动态访问Action中的属性,或者在Action中设置模型数据。 “Struts2.3.1.2_API.chm”文档包含了Struts2框架的详细API,其中涵盖了各个主要类和接口的解释、方法签名、参数说明以及...

    Struts2漏洞检查工具Struts2.2019.V2.3

    Struts2是一款非常流行的Java Web框架,用于构建企业级应用。然而,随着时间的推移,Struts2在安全方面暴露出了一些重要的漏洞,这给使用该框架的系统带来了潜在的安全风险。"Struts2漏洞检查工具Struts2.2019.V2.3...

    struts1和struts2的区别

    - **Struts2**: Struts2支持更加灵活的单元测试方式。Action可以通过依赖注入的方式初始化,因此可以更容易地模拟出不同的测试场景。 #### 表单处理 - **Struts1**: 使用ActionForm来封装表单数据。ActionForm是一...

    Struts2文件动态上传和动态下载(可自动生成下载内容)

    Struts2是一个强大的MVC(模型-视图-控制器)...总之,这个项目为开发者提供了一个实践Struts2文件上传和动态下载功能的平台,通过学习和研究源代码,可以深入理解Struts2框架在这方面的工作原理,提升Web开发技能。

    Struts2视频教程

    ### Struts2核心知识点解析 #### 一、Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,...

    Struts2内容整理

    Struts2 框架提供了访问 Servlet API 的功能,允许在 Action 中访问 Servlet 的各种对象。 Struts2 框架提供了一个灵活、可扩展的解决方案来构建企业级 web 应用程序,它具有强大的功能和灵活的配置方式。

    留言板留言板struts2留言板struts2

    通过OGNL,可以在JSP页面中直接访问Action中的属性,或者在Action中动态设置模型数据。 6. **Struts2配置**:包括struts.xml或struts.properties等配置文件,用于定义Action、拦截器、结果类型等。在本项目中,可能...

    Struts2 demo2

    这个"Struts2 demo2"很可能是为了演示和学习Struts2框架的多种功能和配置方式。以下是根据提供的文件名解析出的相关知识点: 1. **SSH2**: SSH代表Spring、Struts2和Hibernate三个开源框架的组合,常用于构建企业级...

    Struts2 Struts2 超好的Struts2 pdf 文档

    2. **配置**:Struts2的配置分为XML配置和注解配置两种方式。XML配置文件(struts.xml或struts-default.xml)用于定义Action、结果类型、拦截器栈等;注解配置则可以直接在Action类上标注,简化配置过程。 3. **...

    Struts2中访问web元素的例子

    以上就是Struts2中访问web元素的四种主要方式。无论是在Action类中,还是通过ActionContext或拦截器,都可以方便地获取和处理HTTP请求中的数据。熟练掌握这些方法,能够帮助开发者更高效地编写Struts2应用。

    struts2讲义 struts2讲义struts2讲义struts2讲义struts2讲义

    - OGNL表达式语言的支持,提供了一种简洁的方式来访问对象属性。 #### 二、Struts2的核心技术 - **使用web.xml配置Struts2**: - 在web.xml中配置过滤器(Filter),通常使用`FilterDispatcher`作为入口点,它是...

    struts2 API帮助文档

    - `struts2-core`:这是Struts2框架的核心模块,包含了处理请求、调度、拦截器、结果类型、动态方法调用等功能。其中,Action接口和ActionSupport类是处理业务逻辑的基础,而.struts.xml配置文件则定义了请求和...

    struts2动态树

    Struts2动态树是一个在Java Web开发中构建交互式、可扩展的树形结构的解决方案。这个技术主要基于Apache Struts2框架,一个强大的MVC(Model-View-Controller)框架,用于构建企业级Web应用程序。在MyEclipse5.5集成...

Global site tag (gtag.js) - Google Analytics