计应134(实验班) 李佳鸿
一.Action的创建
Struts2中的Action类用来接收用户请求,然后调用模型组件去处理业务逻辑,最后返回一个字符串,Struts2框架会根据字符串的值调用相应的页面进行显示。
Action类中包含一个execute方法,在业务控制器处理完用户请求后,根据不同的处理结果返回不同的字符串。
在Struts2中,Action以多种方式存在,例如Java类充当Action、继承ActionSupport实现Action接口和Action。
Struts2配置Action如下图:
处理请求的类的代码如下图:
二.Action的多方法调用
其中,name属性是必需的,其他属性是可选的。在为Action取名时,名字一般符合命名规则,不要使用点号和斜杠。
method属性是可选属性,如果没有配置method属性,所有请求都将要转发到Action的execute方法处理。
Action中的一个方法代表一个业务逻辑,那么模块中的多个业务逻辑如何用Action来处理呢?
(1)一个Action对应一个业务逻辑,实现方便,但是Action数量多,这种方法不推荐。如下图:
(2)一个Action对应多个业务逻辑,每个业务逻辑对应一个方法,方法的原型要和execute()的方法一样,在视图中调用相应的Action方法为“Action名称!方法名称.action”。action多方法调用如下图:
三、Result类型
Struts2的Action处理用户请求后返回一个字符串,必须在Struts.xml配置文件中进行字符串与实际视图的映射,才能完成实际的控制器功能。在配置文件中是通过action的子元素result来完成此功能的,其格式如下(第一条是跳转向action,第二条是跳向jsp网页):
其中的type属性有多种选择。