2017-8-12 Struts2学习笔记三
来源:互联网 发布:淘宝详情页打不开 编辑:程序博客网 时间:2024/06/14 01:57
一、constant
1. 目的:用来设置struts常量
2. 格式: <constant name=”” value=”“></constant>
3. name中的值需要到default.properties中找,里面全是默认值,可以在value里面修改。由于default.properties第一个加载,而struts.xml后加载,会覆盖默认值。
4. 常见几个常量:
struts.i18n.encoding=UTF-8 默认编码
struts.action.extension=do,action Action请求后缀
struts.devMode=true 开发模式
struts.configuration.xml.reload=true Struts配置文件重新加载
struts.ognl.allowStaticMethodAccess=true 使用OGNL表达式调用静态方法,需要改为true
struts.enable.DynamicMethodInvocation=true 动态方法调用,如在url中使用!调用action中的方法,需要设为true
注:Struts2的常量配置可以在struts-plugin.xml、struts.xml、struts.properties、web.xml中配置,则Struts2框架会按如下搜索顺序加载Struts2常量:default.properties、struts-default.xml、struts-plugin.xml、struts.xml、struts.properties、web.xml,如果在多个文件中配置了同一个Struts2常量,则后面文件中配置的常量值会覆盖前面文件中配置的常量值。
通常推荐将Struts2常量集中在struts.xml文件中进行管理。
二、package属性
1. name
包的名字(必选),struts-default.xml中package的name为struts-default
2. extends
继承(可选),虽然是可选的,但在开发中一般都要继承struts-default,就是struts-default中package的名字,这个package已经为我们配好框架的很多功能,拿过来用即可
3. namespace
命名空间(可选),访问action时要在前面加上
4. abstract
抽象,设为true,不能直接使用,一般用来被继承,struts-default这个package就是抽象的
5. strict-method-invocation (可选)没用过, struts2.5
6. externalReferenceResolver (可选)没用过
三、package子标签
1. <default-action-ref> 配置默认action,即在该包下若找不到要访问的action,则就交给默认action处理
2. <default-class-ref> 当我们在配置Action的时候,如果没有为某个Action指定具体的class值时,系统将自动引用<default-class-ref>标签中所指定的类。在Struts2框架中,系统默认的class为ActionSupport,该配置我们可以在xwork的核心包下的xwork-default.xml文件中找到。
3.<default-interceptor-ref> 该标签用来设置整个包范围内所有Action所要应用的默认拦截器信息。事实上我们的包继承了struts-default包以后,使用的是Struts的默认设置。我们可以在struts-default.xml中找到相关配置:<default-interceptor-ref name=”defaultStack”>
4. <global-exception-mappings> 用来配置发生异常时对应的视图信息的,这是package级别的。
子标签:<exception-mapping result=”” exception=”“> ,用来配置具体信息
5.<global-results> 该标签用于设置包范围内的全局结果集。在多个Action返回相同逻辑视图的情况下,可以通过<global-results>标签统一配置这些物理视图所对应的逻辑视图
子标签 :<result> 具体结果
6. <interceptors> 通过该标签可以向Struts2框架中注册拦截器或者拦截器栈,一般多用于自定义拦截器或拦截器栈的注册
子标签:<interceptor>拦截器,<interceptor-stack>拦截器栈
7. <result-types> 结果类型集合
子标签:<result-type>
8. * <action>
1. 属性:name,class,method,converter
2. name:Action的名字,可以加上通配符*
3. class:Action的类所在全路径,不填默认ActionSupport
4. method:Action中方法的名字,不填默认execute,当Action中使用*时,可以用{1}取得*所替代的内容
5. converter:Action自定义类型转换器(2.3好像没有用到到这个,具体)
四、action子标签
1. <allowed-methods> 允许调用的方法
2. <exception-mapping> 异常处理,这是action级别的,可以覆盖package级别
3. <interceptor-ref> 拦截器栈
4. <param> 为action中某些属性设置默认值
5. <result> 结果
- 属性:name,type
- name:action中方法返回的字符串,根据字符串执行哪个result
- type:结果类型,struts2有10种,还可以自己自定义,默认为转发dispatcher,其中5个常用的
- 子标签<param>,携带参数
五、unknown-handler-stack
具体可以参考
- 2017-8-12 Struts2学习笔记三
- Struts2学习笔记三
- Struts2学习笔记(三)
- struts2学习笔记三
- Struts2学习笔记(三)
- struts2标签学习笔记三
- 传智播客struts2学习笔记(三)
- Struts2学习笔记(三)
- struts2-学习笔记(三)
- Struts2系统学习笔记三
- Struts2学习笔记(三)
- Struts2学习笔记(三)
- 【笔记】Struts2学习笔记(三)--Action
- struts2 学习笔记三----动态方法调用
- 风中叶之struts2学习笔记三
- Struts2学习笔记(三) 输入校验
- Struts2学习笔记(三)之StrutsTypeConversion
- Struts2学习笔记之类型转换 三
- Android内容提供者ContentProvider总结
- 1040. 有几个PAT
- 解析XML可扩展性文档的方法
- Java web学习遇到的几个面试题
- c# 解决读取Excel混合文本类型,数据读取失败的解决方法
- 2017-8-12 Struts2学习笔记三
- opencv 高斯混合模型BackgroundSubtractorMOG2实现目标跟踪
- 第一个QNX程序
- Android基于Window.ID_ANDROID_CONTENT给定id添加子View
- 从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)
- Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.5 HQL:DDL数据定义)(草稿)
- java 中的对象和对象引用
- Python3之异常处理
- BlockingQueue的各种实现队列