框架 ---Struts2 servlet的API访问 复杂类型的数据封装 结果页面配置 no 02.

1.1Struts2的Servlet的API的访问

在使用Struts2的框架的过程中,发现struts2和servlet的API是解耦的。在实际开发中,经常使用到Servlet的API,比如进行登陆。将用户信息保存大盘session中,有的时候需要向页面输出一些内容,用到response对象。涉及到servlet的API的访问。
1.1.1Struts2的Servlet的API的访问。
1.1.1.1完全解耦合的方式。
• 编写jsp
在这里插入图片描述
• 编写Action

在这里插入图片描述
注意:这种方式只能获得代表request,session,application的数据的Map集合,不能操作这些对象的本身的方法
1.1.1.2调用原生servlet的方式。
• 编写jsp
在这里插入图片描述
• 编写Action
在这里插入图片描述
注意:这种方式可以操作域对象的数据,同时也可以获得对象的方法
1.1.1.3接口注入的方式。
• 编写jsp
在这里插入图片描述
• 编写action
在这里插入图片描述
这里需要知道的是前面servlet是单列的,多个程序访问同一个servlet只会创建一个实例。Action是多列的,一次请求,创建一个Action实例(不会出现线程安全)

1.2Struts2的结果页面配置

1.1.1.1全局结果页面配置
• 全局结果页面:全局结果页面指的是,在包中配置一次,其他的在这个包中的所有action只返回了这个值,都可以跳转到这个界面。
• 针对这个包下的所有的action的配置都有效
在这里插入图片描述

1.1.1.2局部结果页面配置

• 局部结果页面:局部结果页面指的是,只能在当前的action中的配置有效。
• 针对当前的action有效
在这里插入图片描述
1.2.1.1result标签的配置
1.2.1.2result标签配置

• result标签用于配置页面的跳转。在result标签上有两个属性:
• name属性: 逻辑视图的名称。默认值:success
• type属性: 页面跳转的类型
dispatcher: 默认值,请求转发。(Action转发JSP)
redirect: 重定向。(Action重定向JSP)
• chain: 转发。(Action转发Action)
• redirectAction: 重定向(Action重定向Action)
• stream: Struts2中提供文件下载的功能。。

1.3Struts2的数据的封装
1.3.1Struts2的复杂类型的数据封装提供属性set方法的方式(不常用)
• 编写页面
在这里插入图片描述
• 提供测试类
在这里插入图片描述
• 编写Action
在这里插入图片描述
注意:这种方式一般不常用。
1.3.2属性驱动:在页面中提供表达式方式
• 编写jsp页面
在这里插入图片描述
• 编写Action页面
在这里插入图片描述
1.3.3模型驱动:采用模型驱动的方式
 编写jsp页面
在这里插入图片描述
 编写Action
在这里插入图片描述
 模型方式的优缺点以及常用的方式:
 缺点:只能同时向一个对象中封装数据
 使用第二种可以向多个对象中同时封装数据
开发中常用第三种也就是 模型驱动方式,但是特殊情况下比如会提交到多个表的情况会使用属性驱动。

1.3关于INPUT逻辑视图
 Action接口提供了五个逻辑视图的名称:
SUCCESS
ERROR
LOGIN
INPUT :input在某些拦截器中会使用。
NONE
INPUT逻辑视图的配置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就会回显某个字段的错误。

1.4Struts2的复杂类型的数据封装

在实际开发中,有可能遇到批量向数据库中插入记录,需要在页面中将数据封装到集合中。
 1.4.1Struts2d的复杂类型的数据封装

 1.4.1.1封装数据到List集合中
 编写JSP
在这里插入图片描述
 编写Action
在这里插入图片描述
 1.4.1.2封装数据到Map集合中

 编写jsp
在这里插入图片描述
 编写Action
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值