你的位置:首页 > 软件开发 > Java > Struts2从头到脚

Struts2从头到脚

发布时间:2017-07-23 00:00:07
一、 Struts2框架介绍Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互Struts2=struts1+webwork核心点:1.** i ...

Struts2从头到脚

一、 Struts2框架介绍

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互

Struts2=struts1+webwork

核心点:

1.** interceptor

2.Action

3.ognl与valueStack

二、框架流程(老版)

Struts2从头到脚

即:

1.当通过浏览器发送一个请求

2.会被StrutsPrepareAndExecuteFilter拦截

3.会调用strtus2框架默认的**(interceptor)完成部分功能

4.在执行Action中操作

5.根据Action中方法的执行结果来选择来跳转页面Resutl视图

三、 struts.

3.1:package配置:

1.name属性  作用:定义一个包的名称,它必须唯一。

2.namespace属性 作用:主要是与action标签的name属性联合使用来确定一个action 的访问路径

3.extends属性 作用:指定继承自哪个包。一般值是strtus-default,strtus-default包是在strtus-default. 4.abstruct属性它代表当前包是一个抽象的,主要是用于被继承,但是一旦定义了abstract,就不能再有action。

3.2:action配置

1.name属性 作用:主要是与package的namespace联合使用来确定一个action的访问路径

2.class属性  作用:用于指示当前的action类

3.method属性  作用:用于指示当前的action类中的哪个方法执行

3.3:result配置

--它主要是用于指示结果视图

1.name属性 作用是与action类的method方法的返回值进行匹配,来确定跳转路径

2.type属性 作用是用于指定跳转方式

3.4:扩展

关于action配置中的class与method的默认值以及result中的name与type 默认值问题

Struts2从头到脚

 

原因:strtus-default.

Struts2从头到脚

 

它的作用就是当一个请求来时,如果查找不到指定的class及对应的method就会执行ActionSupport类中的execute方法。

在这个类的execute方法中默认返回的是”success”也就是说,result的name属性默认值是success,默认的跳转方式是请求转发 dispatcher

3.5:常量配置

 Struts2从头到脚

四、 Struts2的Action详解

4.1:action的创建方式:

a:

创建一个pojo类

Pojo(plani Ordinary java object)简单的java对象,Pojo类就是没有实现任何接口没有继承任何类

优点:无耦合

缺点:所有的功能都要自己完成

b:

创建一个类实现一个Action接口(com.opensymphony.xwork2.Action)

在Action接口中定义了五个常量,一个execute方法

五个常量:它们是默认的五个结果视图<result name=””>:

ERROR : 错误视图

INPUT: 它是struts2框架中interceptor中发现问题后会访问的一个视图

LOGIN:它是一个登录视图,可以在权限操作中使用

NONE:它代表的是null,什么都不做(也不会做跳转操作)

SUCCESS:这是一个成功视图

优点:耦合度低

缺点:还是需要自己来完成功能

c:

创建一个类继承ActionSupport类(com.opensymphony.xwork2.ActionSupport)

开发中一般会使用这种方案:

优点:具有丰富的功能,例如  表单校验 错误信息设置  国际化

缺点:耦合度高

五、Struts2框架封装数据

--主要解决的问题:是在action中如果获取请求参数

主要有两种方式:

1.属性驱动

a.直接在action类中提供与请求参数匹配属性,提供get/set方法

b.在action类中创始一个javaBean,对其提供get/set ,在请求时页面上要进行修改。 例如 user.username  user.password ,要使用ognl表达式

以上两种方式的优缺点:

第一种比较简单,在实际操作我们需要将action的属性在赋值给模型(javaBean)去操作

原标题:Struts2从头到脚

关键词:Struts

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录