Struts2.1笔记(四):深入Struts2

来源:互联网 发布:淘宝有人让你帮忙拍单 编辑:程序博客网 时间:2024/06/01 19:28

4.1 深入Struts2配置文件
4.1.1 Bean设置
在struts.xml文件中定义bean时,通常有如下两个作用
a.创建该bean的实例,将该实例作为struts2框架的核心组件使用
b.bean包含的静态方法需要注入一个值
4.1.2 常量配置
struts2的常量既可以在struts.xml文件中配置,也可以在struts.properties文件中配置,
还可以在web.xml文件中配置
struts2框架加载常量顺序
struts-default.xml,struts-plugin.xml,struts.xml,struts.properties.xml,web.xml
配置常量需要指定两个必要属性:name,value
推荐在struts.xml中配置常量
4.1.3包配置
在struts.xml文件中,package元素用于定义包配置,每个package元素定义了一个包配置
一个包配置如下所示:
<struts>
   <package name="default" extends="struts-default">
   </package>
</struts>
4.1.4命名空间配置
同一个命名空间里不能有同名的Action不同的命名空间里可以有同名的Action。
4.1.5 包含配置
一个配置文件可以包含其他的多个配置文件 如下:
<struts>
<include file="struts-shop.xml"/>
<include file="struts-user.xml"/>
</struts>
4.1.6 拦截器配置
使用拦截器可以完成如下操作:
进行权限控制,跟踪日志,跟踪系统系能瓶颈。

4.2 Struts2的Action
4.2.1 实现Action处理类
Struts2通常直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与请求参
数对应的属性,并且为该属性提供对应的set和get方法。
4.2.2 Action访问ServletAPI
Struts2提供了一个ActionContext类,Struts2的Action可以通过该类访问ServletAPI
4.2.3 配置Action
在struts.xml中配置Action
Action是Struts2的基本单位“程序单位”
定义Action时至少需要指定该Action的name属性,该name属性即是该Action的名字
4.2.4 配置Action的默认处理类
配置 <action.../>元素时可以不指定class属性,如果没有指定class属性则系统会默认使
用ActionSupport作为Action处理类
开发者可自定义Action默认处理类
在struts.xml中使用<default-class-ref.../>元素
4.2.5 配置默认的Action
在struts.xml中使用<default-action-ref.../>元素完成

4.3 管理处理结果
Action处理用户请求→返回字符串(逻辑视图)→映射成物理视图→呈现给浏览者
4.3.1 配置结果
Struts2通过在Struts.xml文件中使用<struts.../>元素来配置结果
两种结果:
a.局部变量:将<result.../>作为<action.../>元素的子元素配置
b.全局结果:将<result.../>作为<global-results../>元素的子元素配置
4.3.2 Struts2支持的处理结果类型
chain、chart、dispatcher、freemarker、httpheader、jsper、jsf、redirect、
redirectAction、strean、tiles、velocity、xslt、plaintext
4.3.3redirect结果类型
与dispatcher结果类型相反,dispatcher结果类型是将请求转发到指定JSP,而redirect结果类型
意味着将请求重定向到指定的视图资源。

原创粉丝点击