struts.xml语法
<!--
1. struts.xml配置常量, 用来覆盖struts.properties中的默认常量配置
一般情况下, 这个配置放在struts.xml中, 不要放在各个模块的xml中.
constant元素和package是同一个级别的
<struts>
<constant name="" value=""></constant>
</struts> 2. 模块xml配置文件引入
```
<struts>
<include file="各个模块的xml配置文件"></include>
</struts>
``` 3. 常用常量
1)开发模式:修改struts.xml之后,不用重启Tomcat.
devMode模式是开发模式,开启它则默认开启了i18n.reload、configuration.xml.reload.
<constant name="struts.devMode" value="true" />
2)设置当struts的配置文件修改后,系统是否自动重新加载该文件: 默认值为false(生产环境下使用),开发阶段最好打开
<constant name="struts.configuration.xml.reload" value="true"/>
3)指定每次请求到达,重新加载资源文件
<constant name="struts.i18n.reload" value="true"/>
4)指定XSLT Result使用样式表缓存
<constant name="struts.xslt.nocache" value="true"/>
5)设置actionName的后缀: 默认值是action,即所有匹配*.action的请求都由Struts2处理。
如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开
<constant name="struts.action.extension" value="action,,"/>
6)默认的视图主题
<constant name="struts.ui.theme" value="simple" />
7)设置浏览器是否缓存静态内容: 默认值为true(生产环境下使用),开发阶段最好关闭
true: 表示有缓存, false:表示没有缓存
<constant name="struts.serve.static.browserCache" value="false"/>
8)设置是否支持动态方法调用
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
9)指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出
<constant name="struts.i18n.encoding" value="UTF-8"/>
8)... 4. 各个元素
1)package: 是struts.xml根元素(strtus)的子元素. 用来管理多个action元素.
* 格式为:
<package name="" extends="" namespace="" abstract="true/false">
* 用法: 一个模块分出一个<package>元素.
* 常用的属性:
- name: 表示当前<package>元素的名称,多个<package>元素的name不能相同.
- extends: 自定义的<package>元素必须继承于包struts-default或其的子包.
- namespace: 命名空间,和actionName共同决定了一个action的访问路径, 与程序中的命名空间的作用类似.
- abstract: 表示当前<package>元素是否是抽象的.
如果为true,那么当前<package>就不能定义action元素,只能用于被其他<package>所继承.
2)action: 是<package>元素的子元素,用于配置Action类. 表示对一次请求的动作的配置:找哪一个类的哪一个方法.
* 语法:<action name="" class="" method="">
* 常用属性:
- name: action的名称,该名称和当前action所在package的namespace共同决定了访问路径.
访问Action的格式:http://host:port/contextPath/namsspace/actionName[.action]
注意:action名称没有/,在同一个<package>不能同名.
- class: Action类的全限定名,表示把哪一个Action对象交给Strtus2框架来管理.
class的默认值:com.opensymphony.xwork2.ActionSupport.
- method: 当前action需要执行哪一个方法.
method的默认值:execute.
3)result元素:是<action/>元素的子元素,表示对应的action的执行结果: `action执行完成后输出哪个页面`.
* 语法格式:<result name="" type=""></result>
* 分类: 先在当前的Action中找, 找不到就去找<global-results>中的result, 如果还找不到→报错;
- 全局: 配置在<package>元素中的<global-results>元素里面,<package>下的所有Action都可以跳转进去.
- 局部: 配置在<action>元素里面,就只能在当前Action中跳转.
$ 在配置的时候需要先配置global, 然后才能配置action
* 常用属性及文本:
- name属性: 同一个action中的result的name不能同名,该name就是action方法的返回结果.默认值:success.
- type属性: 表示资源的跳转方式(请求转发/URL重定向...),这些属性存放在struts-default包.默认:dispatcher.
~ dispatcher: 请求转发:(Action请求转发到JSP),是默认值.
~ redirect: URL重定向:(Action重定向到JSP).
~ chain: 请求转发:(Action请求转发到Action).
~ redirectAction: URL重定向:(Action重定向到Action).
~ stream: 文件下载.
- innerText: 表示需要跳转资源的路径. -->
struts.xml语法的更多相关文章
- Struts.xml讲解
解决在断网环境下,配置文件无提示的问题我们可以看到Struts.xml在断网的情况下,前面有一个叹号,这时,我们按alt+/ 没有提示,这是因为” http://struts.apache.org/d ...
- Struts2中有关struts-default.xml,struts.xml,struts.properties文件详解
1) struts-default.xml 这个文件是struts2框架默认加载的配置文件.它定义struts2一些核心的bean和拦截器. <?xml version="1.0&qu ...
- struts2中struts.xml配置文件详解
struts.xml的常用配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts ...
- 学习Struts--Chap03:struts.xml常用配置(基础)
1.package属性 name:包名 用来唯一的指定一个package.package可以扩展,当一个package扩展自 另一个package时该package会在本身配置的基础上加入扩展的pac ...
- struts.xml中的配置常量的含义
struts.serve.static.browserCache 该属性设置浏览器是否缓存静态内容.当应用处于开发阶段时,我们希望每次请求都获得服务器的最新响应,则可设置该属性为false. stru ...
- 配置文件Struts.xml 中type属性 redirect,redirectAction,chain的区别
1.redirect:action处理完后重定向到一个视图资源(如:jsp页面),请求参数全部丢失,action处理结果也全部丢失. 2.redirectAction:action处理完后重定向到一 ...
- Action的三种实现方式,struts.xml配置的详细解释及其简单执行过程(二)
勿以恶小而为之,勿以善小而不为--------------------------刘备 劝诸君,多行善事积福报,莫作恶 上一章简单介绍了Struts2的'两个蝴蝶飞,你好' (一),如果没有看过,请观 ...
- 3. 解析 struts.xml 文件
1. struts.xml 文件基本配置: 主要放在资源路径下,配置 sturts2相关的 Action , 拦截器等配置 <struts> <!-- 设置常量 --> < ...
- 【学习笔记】Struts2之配置文件struts.xml
在默认情况下,Struts2只自动加载类加载路径下的struts.xml.default-struts.xml和struts-plugin.xml三类文件.但是随着应用规模的增大,系统中Action数 ...
随机推荐
- ora-04031
诊断并解决ORA-04031 错误 当我们在共享池中试图分配大片的连续内存失败的时候,Oracle首先清除池中当前没使用的所有对象,使空闲内存块合并.如果仍然没有足够大单个的大块内存满足请求,就会产生 ...
- JavaWeb三层结构---课设02
收获总结 1三层架构模式 区分层次的目的即为了“高内聚,低耦合”的思想 分层介绍: Javaweb设计分为三层:数据访问层,业务逻辑层和表示层. 数据访问层:只提供对基本数据的访问,不涉及任何的业务逻 ...
- Mysql密码忘记后如何重设密码
1. 首先检查mysql服务是否启动,若已启动则先将其停止服务 2. 打开第一个cmd窗口,切换到mysql的bin目录,运行命令: mysqld --defaults-file="C:\P ...
- Java 的String类
String类 1.String对象的初始化 由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s ...
- Plugin execution not covered by lifecycle configuration的解决方案
pom配置文件中,提示错误:Plugin execution not covered by lifecycle configuration. 如图: 这表示m2e在其执行maven的生命周期管理时没有 ...
- 内功心法 -- java.util.ArrayList<E> (4)
写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------下文主要对java.util ...
- oracle__wm_concat函数
首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用 准备测试数据 SQL> ...
- 阿里云oss总是提示SignatureDoesNotMatch错误怎么办
网上的所有阿里云oss(C#)的例子几乎试遍了,为什么还是提示SignatureDoesNotMatch错误?什么原因?怎么办?下载一个阿里云提供的windows客户端发现,依然提示签名错误. 开始怀 ...
- Android 学习笔记1
参考:http://blog.csdn.net/ztp800201/article/details/7265414 为了快速引入后面的内容就直接使用了这种办法来实现功能,后期再改进: /* ***** ...
- 从C#到TypeScript - function
总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...