Action标签中可以使用method属性来指定执行哪个方法,也可以在URL弟子中动态指定(动态调用DMI——使用”!”来调用方法)
Action通配符:name=”名+*” method中写{1},其中1代表name中第几个星。
Action有3中传递参数方法:一般使用model或者modelDriven来接收
1. URL传参。!方法?参数=值
2. URL model传参。!方法?对象.属性=?
像注册用户需要有确认密码属性时建个model类
Vo(value object) 值对象
Do(data object) 数据对象
Dto(date transfer object) 数据传输对象
3. URL modelDriven传参。实现ModelDriven接口,泛型调用相应model
小技巧:多个按钮提交同一个form表单
<form name="f" action="" method="post">
用户名:<input type="text" name="name"/>
密码:<input type="text" name="password"/>
<input type="button" value="submit1" onclick="javascript:document.f.action='login/login1';document.f.submit();" />
<input type="button" value="submit2" onclick="javascript:document.f.action='login/login2';document.f.submit();" />
<input type="button" value="submit3" onclick="javascript:document.f.action='login/login3';document.f.submit();" />
<input type="button" value="submit4" onclick="javascript:document.f.action='login/login4';document.f.submit();" />
</form>
获取request,session,application,HttpServletRequest,HttpSession,HttpContext对象四种:
//了解
1. 写在构造方法或者execute()方法中,都是map类型。
request = (Map)ActionContext.getContext().get("request");
session = ActionContext.getContext().getSession();
application = ActionContext.getContext().getApplication();
//只用这种
2.使用泛型map<String,Object>实现3个接口requsetAware,sessionAware,applicationAware三个接口。意思你实现这些接口代表你就应该知道request的存在。就是传给你了,可以直接使用。
//了解
3.继承ActionSupport类,是http类型。
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
public LoginAction3() {
request = ServletActionContext.getRequest();
session = request.getSession();
application = session.getServletContext();
}
//了解
4. 继承ActionSupport类,实现ServletRequestAware接口。注入接收。
Include包含一个struts.xml文档。<include file="login.xml" />
采用解耦方式:ServletActionContext.getRequest()。
Result配置
常用类型:
1. dispatcher类型,默认类型。使用dispatcher类型其实就是由转发来完成页面的跳转。只能跳转到页面。后面的结果路径不能跳到action。
2. redirect只能跳转到视图,不能是action。
3. chain可以跳转到action。
4. 客户端跳转用redirectAction。
分享到:
相关推荐
在深入学习Struts2时,这些文档是非常重要的参考资料。 **1. 框架概述** Struts2是Apache软件基金会下的一个项目,它是对Struts1的升级,吸收了WebWork的优点,提供了一种更灵活、更强大的MVC实现。它强调了类型...
这篇博客“Struts2 ——2、各种Action写法和配置”着重讲解了在Struts2框架中如何创建和配置不同的Action,以便更好地理解和运用这个框架。 在Struts2中,Action是处理用户请求的核心组件,它负责业务逻辑的处理,...
要深入学习和掌握Struts2,建议阅读官方文档,参与实际项目实践,也可以参考相关的技术书籍和教程,例如《Struts2技术内幕——深入解析Struts2架构设计与实现原理》等资源,来提升对Struts2框架的全面理解。
本书《Struts2技术内幕——深入解析Struts2架构设计与实现原理》结合提供的《struts2基础.chm》资料,为我们提供了深入理解Struts2内部机制的机会。 首先,Struts2的核心在于它的拦截器(Interceptor)机制。拦截器...
**Struts2实战——《Struts2 In Action中文版》** 《Struts2 In Action》是一本专为Java开发者设计的实战指南,旨在深入解析Struts2框架的使用与实践。Struts2作为一款强大的MVC(Model-View-Controller)框架,极...
Struts2的核心组件包括Action、Interceptor、Result和Configuration。Action是业务逻辑的载体,它接收来自客户端的请求,处理数据并返回结果。Interceptor是拦截器,类似于AOP(面向切面编程)的概念,允许在Action...
本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与ValueStack、Tags以及项目中的关键实践。 **一、Action** Action是Struts2中处理业务逻辑的核心组件,它是实现了`...
《Struts2技术内幕——深入解析Struts2架构设计与实现原理》这本书深入讲解了这些内容,包括但不限于Action的设计模式、Interceptor的实现原理、ValueStack的工作流程、以及Struts2与其他框架的整合策略,对于想要...
综上所述,"struts——java文件"可能包含了Action类、ActionForm(如果使用旧版本)以及其他相关辅助类的源码,通过阅读和理解这些代码,可以深入学习和掌握Struts框架的工作原理以及如何在实际项目中应用。...
《SSM框架整合详解——基于spring-mybatis-struts2-master的实战分析》 在Java Web开发领域,SSM(Spring、Struts2、MyBatis)框架的组合被广泛使用,因其灵活性和强大的功能而备受青睐。本篇文章将深入探讨这个...
1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 1.2.1 什么是框架 7 1.2.2 为什么使用框架 8 1.3 Struts 2框架 9 1.3.1 Struts 2简史 9 1.3.2 ...
本文将重点介绍Struts 2.0中的核心组件——Action,特别是它与Struts 1.x版本之间的主要区别,并通过一些具体示例来加深理解。 #### 二、Struts 1.x与Struts 2.0的Action模型对比 在讨论Struts 2.0中的Action之前,...
在"STRUTS——Oracle登陆"这个主题中,我们关注的是如何使用Struts框架来实现Oracle数据库的用户登录功能。Oracle数据库是世界上最广泛使用的数据库系统之一,常用于大型企业的数据存储和管理。Struts与Oracle的结合...
然而,正如标题所示,“Struts2的bug——关于Struts2中找不到Action的”,这个问题可能困扰了许多开发者。在Struts2框架中,Action是核心组件,用于处理用户请求并执行业务逻辑。当系统报告找不到Action时,这通常...
首先,我们需要了解在`struts.xml`配置文件中的核心元素——`<action>`。每个`<action>`元素代表一个特定的业务操作,通过URL映射到该Action。当我们想要调用同一个Action中的多个方法时,通常需要为每个方法创建...
接下来,创建一个简单的Struts2配置文件`struts.xml`,它是整个应用的入口点,用于定义Action和结果映射。一个基本的配置可能如下: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts...