Struts2核心配置文件struts.xml
一、基本概念
struts.xml文件位于src下,名称固定,文件由xml文件描述,dtd约束,struts标签和三个主要标签package、action、result组成。
二、主要标签
1.package标签
<package name="demo" extends="struts-default" namespace="/"></package>
- 类似于代码包,用于区分不同的action标签
- action标签一定位于package中,只有在package中才能配置action标签
- package标签属性:
- name属性:与功能本身没有关系,主要用于区分不同的package标签(即两个相同的package标签,其name属性不能相同)
- extends属性:作用是使action中配置的JAVA类具有Action的功能,extends属性的值是固定的,为"struts_default"
- namespace属性:其属性值与action标签的name属性值共同构成访问路径 ,默认值为"/"
2.action标签
<action name="hello" class="struts2_test.Action"></action>
- action标签用于配置action的访问路径
- action标签属性:
- name属性:
- 与package标签的namespace属性值共同构成访问路径
- 区分同一个package标签下的不同action标签
- class属性:Action对应的JAVA类的全路径
- method属性:
- Action类默认执行execute方法,但在Action类中可以写其他方法
- method配置可以用来实现使action中多个方法被执行
- name属性:
3.result标签
<result name="hello">/hello.html</result>
- 作用是可以根据acction方法的不同返回值,配置到不同的路径里
- result标签属性:
- name属性:属性值应和想要执行的方法的返回值相同
- type属性:配置如何进入到result对应的路径中,方法有转发和重定向两种,默认做转发操作
4.constant标签
- 作用是修改struts2默认常量
- constant标签属性:
- name属性:属性值为要修改的常量的名称
- value属性:属性值为要修改的值
- 最常用的常量:struts.i18n.encoding=UTF-8
三、分模块开发
- 单独写配置文件,引入到核心配置文件
- 使用include标签映入struts.xml文件中,file属性值为单独的配置文件的路径
四、完整的struts.xml文件示例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="demo" extends="struts-default" namespace="/">
<action name="hello" class="struts2_test.Action">
<result name="hello">/hello.html</result>
</action>
</package>
</struts>