Struts2 Action

来源:互联网 发布:网络打印机 编辑:程序博客网 时间:2024/06/15 15:27

Struts.xml
这里写图片描述

过滤器在服务器启动时候创建,创建过滤器时候执行init方法
在init方法中主要加载配置文件
- 包含自己创建的配置文件和struts2自带配置文件
** struts.xml
** web.xml

标签package
1 类似于代码包,区别不同的action,要配置action,必须首先写package标签,在package里面才能 配置action
2 package标签属性
(1)name属性
- name属性值根功能本身没有关系的,
- 在一个配置文件中可以写多个package标签,name属性值不能相同的
(2)extends属性
- 属性值固定的,struts-default
- 写了这个属性之后,在package里面配置的类具有action功能
(3)namespace属性
- namespace属性值和action标签里面的name属性值构成访问路径
标签action
1 action标签配置action访问路径
2 action标签属性
(1)name属性
- namespace属性值和action标签里面的name属性值构成访问路径
- 在package标签里面写多个action标签,但是action的name属性值不能相同的
(2)class属性
- action全路径
(3)method属性
- 比如在action里面默认执行的方法execute方法,但是在action里面写其他的方法
- 让action里面多个方法执行,使用method进行配置
标签result
1 根据action的方法返回值,配置到不同的路径里面
2 result标签属性
(1)name属性
- 和方法返回值一样
(2)type属性
- 配置如何到路径中(转发或者重定向)
- type属性默认值 做转发操作


Action编写方式:
public class UserAction extends ActionSupport {
@Override
public String execute() throws Exception {
return “success”;
}}

(1)执行action会默认调用该类中的execute方法。就像servlet的service方法一样;

(2)可以使用action标签的method属性,在这个属性里面写执行的action的方法

(3)在action标签里面name属性,name属性值里面写 符号 * 星号;* 理解: 表示匹配任意内容
- 比如访问hello,* 可以匹配到
- 比如访问add,* 可以匹配到
<action name="demo3_*" class="cn.aufe.action.Demo3" method="{1}">

(4)action里面的方法可以没有返回值,没有返回值时候,在result标签不需要配置
- 把方法写成void
- 让返回值,返回 ”none”
(在action里面的方法有返回值,如果有返回值时候类型必须是String)

原创粉丝点击