Action的编写方式
四.Action 的编写方式 : 三种
- 第一种 创建普通类 不继承任何类,不实现任何接口
Public class HelloAction{ }
- 第二种 创建类,实现接口action
Public class UserAction implments Action { ---com.opensymphony.xwork2.Action
重写方法
}
- 第三种 创建类,继承类ActionSupport
Public class PersonAction extends ActionSupport{
}
访问action的方法
- 有三种方式实现 (重点)
1.1使用action标签的method属性,在这个属性里面写执行的方法
Public class BookAction exrends ActionSuport{
Public String add(){
System.out.println(“add..................”)
Return NONE;
}
Public String update(){
System.out.println(“update..................”)
Return NONE;
}
}
//配置action的方法的访问’
<package name=”methoddemo” extends =”struts-default” namespace =”/”>
<action name=”addAction” class=“cn.itcast.method.BookAction” method=”add”></action>method属性,写要执行的action里面的方法的名称.
<action name=”updateAction” class=“cn.itcast.method.BookAction” method=”update”></action>
</package>
1.2 使用通配符的方式实现(重点)
1.2.1 在action标签里面name属性,name属性值里面写符号 * 星号
<action name=”book_*” class=“cn.itcast.method.BookAction” method=”{1}” ></action>
访问路径是book_add 的时候 就执行 add()方法
访问路径是book_update的时候 就执行 update()方法
使用* 匹配任意内容
Action的name属性是: book_*
在访问路径是127.0.0.1/book_update.action
* 变成了 update 最终执行action的方法名称是update
在method属性里面写update 就可以了
Method = “{ 1 } “就可以取到*好代表的update
1.3 使用动态访问的方式 (不用)
方法的返回值的类型:必须是String .
方法没有返回值的情况
1.方法使用void
2.方法返回 String --- return “none” ;
没有返回值就不用配置struts.xml ---action ----result 了