1、如果用户开发自己的struts2插件,则需要编写相应的struts-plugin.xml文件放在jar文件中,struts2框架将自动加载该文件。
2、struts2框架按如下搜索顺序加载struts2常量:
struts-default.xml-->struts-plugin.xml-->struts.xml--->struts.properties-->web.xml
3、struts.xml中,package元素用于定义包配置,每个package定义一个包配置,属性:
name:* 该包名字,为被其他包引用的key
extends ,
namespace:命名空间
abstract:可选属性,指定该包是否为抽象包,抽象包中不能包含action定义
4、命名空间只有一个级别。如果请求的URL是/book/search/get.action,则系统先在/book/search的命名空间下查找get的action,如果找到,则返回,如果没有找到,则系统将直接进入默认的命名空间中查找名为get的action而不会在book的命名空间下查找get的action。
5、拦截器
6、action使用通配符:
如何在struts.xml中有action为abcAction,*,*Action,则abcAction会找到abcAction,而defAction则会找到struts中写在靠前的那个action,比如是*在*action之前,则找到*。
7、默认action:<default-action-ref name="actionName"/>
8、struts.xml --result 默认结果类型是dispatcher,但可以通过配置文件改变默认结构类型;
struts2内建支持的result结果类型:
chain:action链式处理的结果类型(不明白)
chart:JFreeChart
dispatcher:jsp整合
freemarker:FreeMarker整合
httpheader:控制特殊的http行为的结果类型
jasper:JasperReports
jsf:jsf
redirect:直接跳转到其他的URL
redirect-action跳转到其他的action
stream:向浏览器返回一个InputStream(文件下载)
tiles:Tiles
velocity:velocity
xslt: XML/XSLT
plaintext:显示某个页面的原始代码的结果类型。
9、请求参数决定结果:
${属性名1.属性名2.属性名3} 属性名1即是对应action实例中的属性,如:<result type="">logon.action?name=${currentUser.name}
10、全局结果:
<global-results><result></result></global-results>
如果一个action里面包含了与全局结果里面相同的结果,则局部结果会覆盖全局结果
11、模型驱动:使用模型封装了所有数据,贯穿整个MVC流程,而模型的作用是封装用户的请求参数和处理结果。
编写独立的javabean,而在action类中去实现ModelDriven接口,并实现getModel()方法。
问:系统是如何将请求参数封装到action的model属性中的??
要在jsp页面中输出服务器处理结果,应该写成<s:property value="model.##"/>但也可以把model.去掉,系统如在action中没有找到属性,会自动去管理model中的属性。
12、struts2的异常机制:
开启struts2的异常处理机制,需要一个拦截器,struts-default.xml已经写好开启了。
在struts.xml中配置<exception-mapping result="logon" exception="java.io.IOException"/>
<result name="logon" ..>--->上面的result就是这个result出异常时转入的页面
全局异常映射的result属性值通常不要使用局部结果,局部异常映射的result可以使用局部也是用全局。
显示异常信息:<s:property value="exception"/>:输出异常对象本身
<s:property value="exceptionStack"/> :输出异常堆栈信息
分享到:
相关推荐
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...
Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
本篇学习笔记将引导我们从零开始,通过一个简单的"HelloWorld"项目,了解Struts2的基础知识。 首先,我们需要在本地环境中搭建Struts2的开发环境。这包括安装JDK、配置Java环境变量、下载Apache Struts2的最新版本...
张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
struts2学习笔记struts2学习笔记struts2学习笔记
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace ...
structs2很详细的学习笔记,structs2的建造,工作原理,例子,逐步讲解,纯文字的
struts2.0学习笔记1 自己动手做的还算可以的 ]struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的
本学习笔记将对Struts1和Struts2进行详细解析。 **Struts1简介** Struts1是早期流行的MVC框架,它的核心是ActionServlet,负责处理HTTP请求,并通过ActionForm对象收集表单数据,然后调用Action类的方法进行业务...