回忆
在上一篇博客SSH学习之Struts2的配置文件中写明了Struts2的配置文件,这一篇来写写Struts2中的核心Action。
Action的介绍
官方介绍:Action类是用户请求和业务逻辑之间的桥梁,每个Action充当客户的一项业务代理。
在RequestProcessor类预处理请求时,在创建了Action的实例后,就调用自身的processActionPerform()方法,
该方法再调用Action类的execute()。
然而,在我看来Action就是Java类,用来处理前台数据和调用业务层代码的中间类。
Action的编写方式
- 普通Java类,不继承也不实现任何接口或类,方法名也是自己编写。
- 实现接口Action。
- 继承ActionSupport类,其实这个类最终也是实现了Action接口。这也是开发工作中常用的方式。
Action中的方法
Action在Struts2的框架中要求只写String返回值的方法,但是写其他的方法并不会错误。
Action中的执行的方法的返回值和配置文件中的result标签挂钩。
注意
假设有一个大型项目,需要访问很多的action,那么就必须在struts.xml配置文件里写很多的action标签,配置文件内容就会变得特别的多,难以阅读。所以Struts2框架也提供了解决的方法,那就是使用通配符*和{1}。用法如下:
<action name="user_*" class="action.TestAction" method="{1}">
<result name="success">/success.jsp</result>
</action>
说明:
- 星号,是通配符的形式,以上面为例,他表现匹配所有形式为user_XXX的访问路径,比如user_login、user_register等等。
- {1},表示的是第一个星号的值,也就是可以理解为login、register。
- 当然在action中也要有与其相对应的方法,比如login方法、register方法。
多余的话
这是我的理解,请多多见谅
。
![奋斗](http://static.blog.csdn.net/xheditor/xheditor_emot/default/struggle.gif)