Struts 2基本结构
02.Namespace空间的使用
隔离同名类
1.动态方法调用(不常用,可以跨过前台验证)
DMI Dynamic Method Invoke(动态方法调用)
解决问题:
减少了配置文件中Action节点个数,<Result>节点
2.通配符的使用
数据库中通配符 :_ [] % [^]
功能:和正则类似,做匹配的一种特殊字符
正则:
匹配:w 任意的数字,字母,下划线和汉子
d 单个数字
^$
限定:
+ :1到多次
? 0到1次
* 0到多次
{m,n}
{n,}
{n}
Book
-----添加图书
------修改图书
User
---添加用户
---修改用户
3.Result结果集的类型
Struts 基本 ASP.NET MVC
4.全局结果集
5.动态结果集
6.如果Action class 默认访问action
- Result name=””
8.核心图 拦截器 上传,下载
1.核心控制器
需要在web.xml中进行配置
对框架进行初始化,以及处理所有的请求
2.Action
开发Action
实现Action接口
继承ActionSupport类
配置Action
Action的作用
封装工作单元
数据转移的场所
返回结果字符串
3.Result
实现对结果的调用
result元素的值指定对应的实际资源位置
name属性表示result逻辑名
4.struts.xml
01.核心配置文件,主要负责管理Action,通常放在WEB-INF/classes目录下,在该目录下的struts.xml文件可以被自动加载
02.constant元素
配置常量,可以改变Struts 2框架的一些行为,name属性表示常量名称,value属性表示常量值
03.package元素
包的作用:简化维护工作,提高重用性,包可以“继承”已定义的包,并可以添加自己包的配置
name属性为必需的且唯一,用于指定包的名称
extends属性指定要扩展的包
namespace属性定义该包中action的命名空间 ,为可选属性
Namespace详解:
1)namespace决定action的访问路径,默认为“”,可以接受所有路径的Action;
2)namespace可以写为/,或者/xxx,或者/xxx/yyy,对应action访问路径为/index.action,/xxx/index.action或者/xxx/yyy/index.action
3)namespace最好也用模块来进行命名
当url中输入不存在的Action的时候,定向到默认的Action
<default-action-ref name="login"></default-action-ref>
没有为action指定class,默认使用ActionSupport
struts-default.xml
Struts 2默认配置文件,会自动加载
struts-default包在struts-default.xml文件中定义
struts-plugin.xml
Struts 2插件使用的配置文件
加载顺序
struts-default.xml→struts-plugin.xml
→ struts.xml
Package namespace
Path问题
参数装配问题
动态方法调用
乱码问题
Internationalization (i18n)