type=”ActionClass”
name=”userForm”
scope=”request”
attribute=”key”
input=”/register.jsp”
forward=”/index.jsp”
include=”/index.jsp”
unknown=”true”
parameter=”test”
className=”mappingclass”
validate=”true”>
path表示的是action请求的名称,比如中,*do后缀无需指明,strut1会自动进行处理。在上面的
type代表该请求应该有哪个Action处理,注意此类的名称一定是类的全名称(包括包名)。
name 表示请求封装的ActionForm类
此名称与
scope 代表代表把formbean的参数封装到那个作用域中,默认为“session”
备注:当我们没有指定formbean的作用域时,在type指定的Action类中还可以通过以下代码获取:UserForm userForm = (UserForm) form;
/**
* 由于在Action的属性配置中的scope属性指定了userForm的作用域, 当采用的是默认值(session)时,
* 也可以直接从作用域中获取代码如下:UserForm userForm =
*(UserForm)request.getSession().getAttribute(“userForm”);
*/
/**备注:由于在开发中为了节省ActionForm占用的内存空间,一般采用scope=”request”配置,因此也可以采用以下的方式获取*/
UserForm userForm = (UserForm) request.getAttribute(“userForm”);
input指定formbean的数据是由哪个页面提供的。
说明:提供此属性的目的在于formbean校验失败时,程序方便跳回formbean的输入页面,通过struts1错误信息标签,显示校验失败信息
forward 指定收到请求时,将请求结果跳转到哪个页面
include=”/index.jsp” 指定收到请求时,进行页面包含。
unknown=”true” 如果action把该属性设置为true,则它可以处理客户机发出的所有无效的.do请求,默认值为false。举例:如果在配置文件中添加如下的action配置,
如果在此配置文件中找不到regi.do的Action就会处理上面配置的action直接跳转到index.jsp页面 (备注:与此action中path名称无关,但必须配置一个path属性)。
parameter=”test” 配置action参数,调用actioMapping.getParameter方法可以获得这里配置的参数。
className=”mappingclass“
validate=”true” 请求参数封装到formbean中后,是否让struts自动调用formbean的validate方法进行数据校验,默认true。
forward标签
在action配置中,还有一些其他的标签配置,
举例:如果在action内部我们配置了forward标签的代码如下:
那么可以再Action返回值中做如下处理:/** 获取跳转的地址并返回ActionForward */
return mapping.findForward(“message”);
通过以上配置,在处理完此action后,struts1经过处理后就会跳转到/message.jsp视图层。