struts2 教程3 struts.xml常…
来源:互联网 发布:手机淘宝可以注册账号 编辑:程序博客网 时间:2024/06/05 10:58
在本文中将详细讲述struts.xml文件的常用配置及注意事项。
1.
在Struts2中提供了一个默认的struts.xml文件,但如果package、action、interceptors等配置比较多时,都放到一个struts.xml文件不太容易维护。因此,就需要将struts.xml文件分成多个配置文件,然后在struts.xml文件中使用<include>标签引用这些配置文件。这样做的优点如下:
结构更清晰,更容易维护配置信息。
配置文件可以复用。如果在多个Web程序中都使用类似或相同的配置文件,那么可以使用<include>标签来引用这些配置文件,这样可以减少工作量。
假设有一个配置文件,文件名为newstruts.xml,代码如下:
<!DOCTYPE
<struts>
<!DOCTYPE
<struts>
大家要注意一下,用<include>引用的xml文件也必须是完成的struts2的配置。实际上<include>在引用时是单独解析的xml文件,而不是将被引用的文件插入到struts.xml文件中。
2.
<!DOCTYPE
<struts>
<package
上面代码的两个动作的class属性都指向同一个类,name为这个类起了两个动作别名:test和my。在动作my中,使用了method属性指定要要运行的方法名为my。
{
}
除了在struts.xml中配置别名,还可以通过请求参数来描述指定动作(并不需要在struts.xml中配置)。请求参数的格式如下:
http://localhost:8080/contextPath/actionName!method.action
关于通过请求指定动作的详细内容,请参阅笔者写的《Struts2教程2:处理一个form多个submit》。
3.
在struts2中还可以为action指定一个或多个参数。大家还记着struts1.x是如何设置的action参数不? 在struts1.x中可以使用<action>标签的parameter属性为其指定一个action参数,如果要指定多个,就只能通过逗号(,)或其他的分隔符将不同的参数隔开。而在struts2中可以通过<param>标签指定任意多个参数。代码如下:
<param
<param
{
}
当struts2在调用execute之前,param1和param2的值就已经是相应参数的值了,因此,在execute方法中可以直接使用param1和param2。
4.
在默认时,<result>标签的type属性值是“dispatcher”(实际上就是转发,forward)。开发人员可以根据自己的需要指定不同的类型,如redirect、stream等。如下面代码所示:
<resultname="save"
</result>
这此result-type可以在struts2-core-2.0.11.1.jar包或struts2源代码中的struts-default.xml文件中找到,在这个文件中找到<result-types>标签,所有的result-type都在里面定义了。代码如下:
</result-types>
5.
有很多时候一个<result>初很多<action>使用,这时可以使用<global-results>标签来定义全局的<result>,代码如下:
</struts>
- struts2 教程3 struts.xml常…
- struts2 的struts.xml 配置解释
- struts2 Struts比较
- struts2 struts-tag.tld中报tlib-…
- Struts、Struts2、Spring Mv…
- struts2 教程6 在Action类中…
- Struts 2 XML文件通配符 只需要配…
- java Struts2 jquery uploadify 多…
- Struts 2 + Spring 2.0 + Hibernat…
- XML Parsing Error: XML or text d…
- The Struts dispatcher&…
- ZZULI_SummerPractice(3) HDU 1…
- struts result type
- struts2教程9 实现自己的拦…
- MATLAB bvp4c函数 常微…
- Nios II Step By Step 3--Nios II …
- [教程]使用 注册表 寻找…
- [教程]使用 注册表 寻找…
- Struts标签logic:present
- Struts logic标签
- struts2教程9 实现自己的拦…
- struts2 教程6 在Action类中…
- 接入支付宝asn1.h file not find问题
- struts2 教程3 struts.xml常…
- SSH三大框架 整合必备jar包 …
- 转SSH 各层作用及好处(个人…
- java中的递归调用
- 40 位改变了互联网的人(上…
- 马云的三大信仰
- JS中的window.setTimeout()…
- Linux命令行操作基础
- 如何使用JTree