Struts2知识点总结 - 图文 下载本文

1.在action里面的方法有返回值,其类型必须为String 2.action里面的方法可以没有返回值,没有返回值的时候,action标签里的result标签可以不配置。action方法设置无返回值的方法有两种,一种是将方法的返回值类型设为void,另一种是返回一个”none”的字符串。 Struts2笔记(一)

1、结果页面的配置(result标签) 1、作用:result标签配置action方法的返回值到不同的路径里面。 2、全局页面的使用:当在result标签中返回的值和路径是一致的时候,就可使用全局页面。 1、配置方法: 在package标签下配置 2、注意:该标签只能在一个package标签中使用,如果有多个标签,需要重新定义。 3、局部结果页面:指的就是在action标签里配置 1、配置方法: 在action标签下配置 2、注意:如果既配置了全局,又配置了局部,会以局部为准,全局不起作用。 4、type属性 1、作用:如何到路径里面(即定义转发还是重定向)。 2、属性值: 1、默认值:dispatcher,一般没有写,就是转发操作,浏览器地址栏不会改变。 2、重定向:redirect,浏览器地址栏会改变 。 3、chain:转发到action,一般不使用,因为有缓存。 4、redirectAction:重定向到action 。 2、使用Action获取表单提交的数据 1、action获取表单提交数据的三种主要方式: 1、使用ActionContext类。 1、主要使用的方法: 因为该方法是对象方法,所以需要一个ActionContext对象来调用,而创建ActionContext对象可以使用该类的一个静态方法来创建

2、使用ServletActionContext类。 1、主要使用的方法: 3、使用接口注入方法(一般不用)。 1、使用步骤: 1、实现ServletRequestAware接口。 2、实现该接口的方法。 3、在该类中定义一个HttpServletRequest对象,并赋值。 3、在action中操作域对象 1、在Servlet中三个域对象: request、session、servletContext 2、操作三个域对象 1、request对象 使用ServletActionContext类的静态方法getRequest(),得到该对象。 2、session对象 通过第一个知识点获取到request对象,再通过request对象获取到该对象。 3、servletContext对象 通过第一个知识点获取到request对象,再通过request对象获取到该对象。 4、使用Struts2封装获取表单数据 1、属性封装 1、步骤: 1、在类里定义私有成员变量,变量名必须和表单中name的值一致。 2、使用get和set方法进行封装即可。 2、缺点:不能把数据直接封装到实体类的对象里面。 2、模型驱动封装 1、作用:可以直接把表单数据封装到实体类对象里面。 2、操作步骤: 1、action实现接口ModelDriven 2、实现该接口的getModel方法 3、在action里面创建实体类对象 4、注意:表单输入项name的属性值和实体类属性名称要一致。 注意:使用模型封装和属性封装时,在一个action中,获取表单数据可以属性封装,也可以模型封装,但是不能两个封装同时使用,如果同时使用,只会执行模型封装。

3、表达式封装 1、作用:可以把表单数据封装到实体类对象里面。 2、步骤: 1、在action类里面声明实体类 2、生成实体类变量的get和set方法。 3、在表单输入项的name属性值里面写表达式形式的数据。 3、优点:可以把数据封装到不同的实体类对象里面。 5、表单数据封装到集合里面 1、封装数据到List集合 1、操作步骤 1、在action中声明List集合 2、生成该集合变量的get和set方法 3、在表单输入项的name属性里写表达式 2、封装数据到Map集合 1、操作步骤 1、在action中声明Map集合 2、生成该集合变量的get和set方法 3、在表单输入项的name属性里写表达式 Struts2笔记(二)

1、结果页面的配置(result标签) 1、作用:result标签配置action方法的返回值到不同的路径里面。 2、全局页面的使用:当在result标签中返回的值和路径是一致的时候,就可使用全局页面。 1、配置方法: 在package标签下配置 2、注意:该标签只能在一个package标签中使用,如果有多个标签,需要重新定义。 3、局部结果页面:指的就是在action标签里配置 1、配置方法: 在action标签下配置 2、注意:如果既配置了全局,又配置了局部,会以局部为准,全局不起作用。 4、type属性

1、作用:如何到路径里面(即定义转发还是重定向)。 2、属性值: 1、默认值:dispatcher,一般没有写,就是转发操作,浏览器地址栏不会改变。 2、重定向:redirect,浏览器地址栏会改变 。 3、chain:转发到action,一般不使用,因为有缓存。 4、redirectAction:重定向到action 。 2、使用Action获取表单提交的数据 1、action获取表单提交数据的三种主要方式: 1、使用ActionContext类。 1、主要使用的方法: 因为该方法是对象方法,所以需要一个ActionContext对象来调用,而创建ActionContext对象可以使用该类的一个静态方法来创建 2、使用ServletActionContext类。 1、主要使用的方法: 3、使用接口注入方法(一般不用)。 1、使用步骤: 1、实现ServletRequestAware接口。 2、实现该接口的方法。 3、在该类中定义一个HttpServletRequest对象,并赋值。 3、在action中操作域对象 1、在Servlet中三个域对象: request、session、servletContext 2、操作三个域对象 1、request对象 使用ServletActionContext类的静态方法getRequest(),得到该对象。 2、session对象 通过第一个知识点获取到request对象,再通过request对象获取到该对象。 3、servletContext对象 通过第一个知识点获取到request对象,再通过request对象获取到该对象。 4、使用Struts2封装获取表单数据