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作为一款流行的Java Web框架,其动态访问调用机制是其强大特性的体现之一。在实际开发中,我们经常需要根据用户的不同操作来执行不同的业务逻辑,这时`struts2`的`method`属性就显得尤为重要。本文将深入探讨...
本篇文章将详细介绍Struts2 Action的三种访问方式:传统方式、通配符方式和动态方式。 1. **传统方式(Static Dispatch)** 传统方式是最基础的Action访问方式,通过硬编码URL来映射Action。在`struts.xml`配置...
本文详细介绍了Struts 2框架中Action动态方法调用的实现方式。通过这种方式,可以更灵活地管理业务逻辑,减少代码重复,提高程序的可维护性和扩展性。掌握了这一特性后,开发者可以在实际项目中更加高效地运用Struts...
在Struts2中,有四种主要的方式可以用来操作request、session和application上下文中的数据。这篇内容将深入探讨这四种方法,并结合源码和实用工具来帮助理解。 1. **ActionContext**: Struts2的核心组件...
总之,Struts2提供了多种方式来访问Servlet API,方便开发者在MVC框架下进行更灵活的控制。选择哪种方式取决于具体的需求和项目结构。合理地利用这些方法,可以有效地提高代码的可维护性和灵活性。在实际开发中,应...
在使用"struts2-scan.py"这个Python脚本时,你需要确保你有相应的环境支持Python运行,并且对目标Struts2应用有一定的访问权限。通常,这个脚本会遍历一系列的漏洞测试用例,针对每个可能的漏洞进行探测。扫描完成后...
开发者可以通过OGNL在JSP页面上动态访问Action中的属性,或者在Action中设置模型数据。 “Struts2.3.1.2_API.chm”文档包含了Struts2框架的详细API,其中涵盖了各个主要类和接口的解释、方法签名、参数说明以及...
Struts2是一款非常流行的Java Web框架,用于构建企业级应用。然而,随着时间的推移,Struts2在安全方面暴露出了一些重要的漏洞,这给使用该框架的系统带来了潜在的安全风险。"Struts2漏洞检查工具Struts2.2019.V2.3...
- **Struts2**: Struts2支持更加灵活的单元测试方式。Action可以通过依赖注入的方式初始化,因此可以更容易地模拟出不同的测试场景。 #### 表单处理 - **Struts1**: 使用ActionForm来封装表单数据。ActionForm是一...
Struts2是一个强大的MVC(模型-视图-控制器)...总之,这个项目为开发者提供了一个实践Struts2文件上传和动态下载功能的平台,通过学习和研究源代码,可以深入理解Struts2框架在这方面的工作原理,提升Web开发技能。
### Struts2核心知识点解析 #### 一、Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,...
Struts2 框架提供了访问 Servlet API 的功能,允许在 Action 中访问 Servlet 的各种对象。 Struts2 框架提供了一个灵活、可扩展的解决方案来构建企业级 web 应用程序,它具有强大的功能和灵活的配置方式。
通过OGNL,可以在JSP页面中直接访问Action中的属性,或者在Action中动态设置模型数据。 6. **Struts2配置**:包括struts.xml或struts.properties等配置文件,用于定义Action、拦截器、结果类型等。在本项目中,可能...
这个"Struts2 demo2"很可能是为了演示和学习Struts2框架的多种功能和配置方式。以下是根据提供的文件名解析出的相关知识点: 1. **SSH2**: SSH代表Spring、Struts2和Hibernate三个开源框架的组合,常用于构建企业级...
2. **配置**:Struts2的配置分为XML配置和注解配置两种方式。XML配置文件(struts.xml或struts-default.xml)用于定义Action、结果类型、拦截器栈等;注解配置则可以直接在Action类上标注,简化配置过程。 3. **...
以上就是Struts2中访问web元素的四种主要方式。无论是在Action类中,还是通过ActionContext或拦截器,都可以方便地获取和处理HTTP请求中的数据。熟练掌握这些方法,能够帮助开发者更高效地编写Struts2应用。
- OGNL表达式语言的支持,提供了一种简洁的方式来访问对象属性。 #### 二、Struts2的核心技术 - **使用web.xml配置Struts2**: - 在web.xml中配置过滤器(Filter),通常使用`FilterDispatcher`作为入口点,它是...
- `struts2-core`:这是Struts2框架的核心模块,包含了处理请求、调度、拦截器、结果类型、动态方法调用等功能。其中,Action接口和ActionSupport类是处理业务逻辑的基础,而.struts.xml配置文件则定义了请求和...
Struts2动态树是一个在Java Web开发中构建交互式、可扩展的树形结构的解决方案。这个技术主要基于Apache Struts2框架,一个强大的MVC(Model-View-Controller)框架,用于构建企业级Web应用程序。在MyEclipse5.5集成...