第三天打卡 Struts2配置
Struts
Struts配置
Struts的核心配置文件
1. 名称和位置是固定的
2. 在配置文件中主要有三个标签 package、action、result,标签里面的属性:
package
类似于代码包,区别不同的action,要配置action,必须首写package标签,在package里面才能配置action
package标签属性
1. name属性
- name属性值跟功能本身没有关系的
多个package
2. extends属性
- 属性值固定,struts-default
- 写了之后,在packa里面配置的类具有action的功能
3. namespace
- namespace属性值 和 action标签里面的 name 属性值构成访问路径(默认值为/ 可以不写)
action
action 标签配置 action访问路径
action 标签属性
1. name属性
- namespace 属性值 和 action 标签里面的 name 属性构成访问路径
- 在 package 标签里面可以写多个 action 标签,但是 action 的 name 属性值不能相同
2. clss属性
- action全路径
3. method的属性
- 比如在 actio n里面默认执行的方法 execute 方法,但是可以在 action 里面写其他的方法
- 让 action 里面多个方法执行,使用 method 进行配置
result
根据action的方法返回值,配置到不同的路径里面
result标签属性
1. name属性
- 和方法返回值一样
2. type属性
- 配置如何到路径中(转发或者重定向)
- type属性默认值 做转发操作(地址栏不变内容改变)
常量配置
修改struts2默认常量值
介绍最常用的常量
-
表单提交数据到 action 里面,在action 可以获取表单提交数据
-
表单提交数据有中文,有乱码问题,解决:
(1)post 提交直接设置编码
(2)get 提交做编码转换 -
如果在 action 获取表单通过 post 方式提交中文,中文乱码问题自动解决
分模块开发
1. 单独写配置文件,把配置文件引入到核心配置文件中
Action的编写方式
action编写有三种方式
- 第一种 创建普通类,这个类不继承任何类,不事先任何接口
- 第二种 创建类,实现接口 Action
- 第三种 创建类,继承类ActionSupport
访问 action 的方法
有三种方式实现
-
第一种 使用 action 标签的 method 属性,在这个属性里面写执行的 action 方法
-
第二种 使用通配符方式实现
-
动态访问实现(不常用)
常见错误
- 如果 action 方法有返回值,在配置文件中没有配置,出现错误404
- 在action 里面的方法有返回值,如果有返回值时类型必须是String
- action 里面的方法可以没有返回值,没有返回值的时候,在 result 标签中不需要配置
(1)把方法写成 void
(2)让返回值,返回“none”
使用 action 标签 method 属性
- 创建 action,创建多个方法
- 使用method配置
缺陷:action每个方法都需要配置,如果action里面有多个方法,配置很多的action
图片:
使用通配符实现
- 在 action 标签里面 name 属性,name 属性值里面写 符号 * 号
(1)* 理解:表示匹配任意内容
比如访问hello, * 可以匹配到