前言: Action 对象是 struts2框架的 重要对象,它主要用于对HTTP请求进行处理,在struts2 API中,Action对象是一个接口,它位于com.opensymphony.xwork2包中。
在Action接口中,包含了5个静态的成员变量,主要包括:SUCCESS、NONE、ERROR、INPUT、LOFGIN等。
一、请求参数的注入原理。
在Strurts2框架中,表单提交的数据会自动注入到与Action对象相对应的属性。它主要通过Action对象为属性提供setter方法进行注入。 所以,需要为属性值提供setter和getter方法。
技巧小贴士:在struts2框架中,一个“*.action”请求返回视图由Action对象决定,其实现手段是通过查找返回的字符串对应的配置项,确定返回的视图。
二、什么是动态Action?
Action对象,都是通过重写execute() 方法实现对浏览器请求的处理,这种方式只适合比较单一的业务逻辑请求。在实际项目开发中,业务请求是多种多样的,可以通过将这些处理逻辑编写在一个Action对象中,然后通过execute()方法来判断请求的是哪种业务,然后判断后将请求转发到对应的业务逻辑上。
小贴士:动态Action的处理方式,是通过请求Action对象中的一个具体方法来实现动态的操作。
具体为: 请求Action的URL地址+!+请求字符串(方法名称),与action对象的方法进行匹配。 eg:/xAction!add
否则将出现java.lang.NoSuchMethodException异常。