Struts2的核心配置文件
Struts2的详细配置:
配置的是struts2的核心配置文件:,在struts2的核心配置文件中主要有三个标签需要进行配置:package,action,result。
1. 配置package标签
package标签类似于代码包,用于区别不同的action,要配置action,必须首先写package标签,在package里面才能配置action。package标签主要有如下三个属性:
>>> name属性:
name的属性值跟功能本身是没有没有关系的,在Struts2的核心配置文件中可以写多个package标签,而name标签是用于区分这些package的,因此name属性值在package中的值是不能相同的。
>>> extends属性:
extends属性在package的中,这个属性的值是固定的,也就是extends的值只能是struts-default。在核心配置文件中只有配置了extends="struts-default",才能使在package里面配置的类具有action功能。
>>> namespace属性:
namespace属性值的主要的作用是和action标签里面的name属性值构成访问路径,如下:
<package name="one" extends="struts-default" namespace="/test">
<action name="oneStruts" class="cn.geore.action.OneAction">
<result name="first">/index.jsp</result>
</action>
</package>
那么访问路径为:
2. 配置action属性:
action标签的主要的作用是配置Action类的访问路径,它主要有如下三个属性:
>>>. name属性:
name属性值的主要的作用是和package标签里面的namespace属性值构成访问路径;在package标签中是可以存在多个action标签的,但是对于这些action标签,有一个要求,就是action标签的name属性的值不能相同。
>>>. class属性:
class属性的作用是配置Action类的全路径,用于在访问的时候,能找到这个Action类。
>>>. method属性:
method的属性默认值是execute()方法,因此执行的Action时候,默认调用的就是Action类的execute()方法,如果在Action类中还存在add()或者update()方法的话,那么就需要配置method属性值,来使在执行Action类的时候调用指定的方法。
如下代码,如果我想调用add方法的话:
public class OneAction {
/**
* 在Servlet中每次执行的是service方法,而在Struts2种每次调用执行的方法是execute()
* 因此对于具体的功能只需要卸载execute()中即可
* @return
*/
public String execute() {
return "first";
} public String add() {
return "add";
}
}
那么核心配置文件应该如下进行配置:
<package name="one" extends="struts-default" namespace="/test">
<action name="oneStruts" class="cn.geore.action.OneAction">
<result name="first">/index.jsp</result>
</action> <action name="twoStruts" class="cn.geore.action.OneAction" method="add">
<result name="add">/add.jsp</result>
</action>
</package>
运行截图:
3. 配置result属性:
result属性是根据调用的方法的返回值,来配置到不同的路径里面去(JSP页面的路径等)
result的属性主要有两个:
>>>. name属性:这个属性的值是要和方法的返回值一致,用来在方法调用之后,根据方法的返回值与之进行匹配,如果值一样,那么就跳转到result中包含的路径的页面去
>>>. type属性:这个属性配置跳转的方式是转发还是重定向,默认是转发操作
4. Struts2常量的配置:
主要是用于修改Struts2的默认常量值。如下:
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
struts.i18n.encoding是一种最常用的常量:这个是获取表单数据的时候,对数据进行编码的处理,而不需要像在Servlet中一样,使用过滤器进行处理了。
5. Struts2的分模块开发:
对于在一个项目中,基本上都是多个人共同开发,但是在Struts2种的核心配置文件只有一份,如果多个人操作的是同一个struts.xml,那么难免会出现问题(一个人把自己的上传,把另一个的删了等)。但是如果对Struts2的核心配置文件也按照分模块的思想,也就是说,一个模块的开发员在自己这个模块的包内创建一个xml文件,在整合的时候,将自己的模块的内的struts文件的xml文件引入到struts核心配置文件中。那么就可以很好的解决这种问题,如下:
one.xml是一个cn/geore/action/OneAction.java类的配置文件,而struts.xml则是struts2的核心配置文件。在分模块开发的时候,开发人员要在自己的模块下写一个自己模块的xml文件,这个位置和名称没有限制。然后在完成之后,在将自己的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="one" extends="struts-default" namespace="/test">
<action name="oneStruts" class="cn.geore.action.OneAction">
<result name="first">/index.jsp</result>
</action>
<action name="twoStruts" class="cn.geore.action.OneAction" method="add">
<result name="add">/add.jsp</result>
</action>
</package>
</struts>
<?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>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 引入外部的Struts模块的配置文件 -->
<include file="cn/geore/action/one.xml"></include>
</struts>
进行在核心配置文件中引入xml文件使用include标签,属性值file,填写文件的相对路径。
Struts2的核心配置文件的更多相关文章
- Struts2中的 配置文件
struts2中涉及到的配置文件有: web.xml.struts.xml.struts.properties.default.properties.struts-default.xml web.xm ...
- Struts2_day01--Struts2的核心配置文件_常量配置_分模块开发_Action编写方式
Struts2的核心配置文件 1 名称和位置固定的 2 在配置文件中主要三个标签 package.action.result,标签里面的属性 标签package 1 类似于代码包,区别不同的actio ...
- struts2的两个核心配置文件
struts2的两个核心配置文件,即:struts.default.xml和struts.properties A,位置:都在struts2-core-version.jar文件中 B,作用,stru ...
- Struts2笔记1:--Struts2原理、优点、编程流程、6大配置文件以及核心配置文件struts.xml
Struts2原理(底层使用的是Servlet的doFilter方法): Struts2优点: 第一个Struts程序: 在开发Struts程序之前,首先要导入额外的jar包,基本需求的是14个jar ...
- struts2的核心和工作原理
struts2的核心和工作原理 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于clien ...
- JavaWeb框架_Struts2_(二)----->Struts2的核心配置
2. Struts2的核心配置 2.1 配置Struts.xml文件 2.1.1 Struts.xml文件 Struts2框架的核心配置文件是Struts.xml,该文件主要用来配置Action和 ...
- Spring3.2+mybatis3.2+Struts2.3整合配置文件大全
0.配置文件目录 1.Spring配置 applicationContext-dao.xml <?xml version="1.0" encoding="UTF-8 ...
- Struts2 更改校验配置文件位置
@(Java)[Struts|Interceptor] Struts2 更改校验配置文件位置 在Struts2中提供的拦截器校验ValidationInterceptor,该校验器中默认的配置文件位于 ...
- Hibernate核心配置文件
Hibernate.cfg.xml是Hibernate操作数据库的核心配置文件 *********************************************** 作用 01.管理实体类的 ...
随机推荐
- The Preliminary Contest for ICPC Asia Xuzhou 2019 E. XKC's basketball team (线段树)
题目链接:https://nanti.jisuanke.com/t/41387 题目大意:对于给定序列,求出对于每个位置求出比该数大于m的最靠右的位置. 思路:首先对序列进行离散化,然后对于每个数的下 ...
- 1--面试总结-js深入理解,对象,原型链,构造函数,执行上下文堆栈,执行上下文,变量对象,活动对象,作用域链,闭包,This
参考一手资料:http://dmitrysoshnikov.com/ecmascript/javascript-the-core/中文翻译版本:https://zhuanlan.zhihu.com/p ...
- snmpwalk工具使用
snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户. 在linux下使用snmpwalk工具,我们 ...
- 组件通信 $ref
(1)放在dom上表示获取当前dom元素, (2)放到组件上表示获取当前组件实例 (3)在v-for中获取的是集合 <!DOCTYPE html> <html lang=" ...
- 【串线篇】spring boot启动配置原理
几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener ...
- Spring Boot整合Mybatis出现错误java.lang.IllegalStateException: Cannot load driver class:com.mysql.cj.jdbc.Driver
错误描述: Caused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver ...
- 【leetcode】1122. Relative Sort Array
题目如下: Given two arrays arr1 and arr2, the elements of arr2 are distinct, and all elements in arr2 ar ...
- python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- 层定位layer
一.如何实现层定位position属性 二.相对定位relative 三.绝对定位absolute 四.元素堆叠z-index 一.实现层定位的方法 position属性实现层定位,把元素分出层次形成 ...
- pages
pages pages 接受一个数组,每一项都是一个字符串,指定 SWAN App 都有哪些页面.每一项代表页面的[路径 + 文件名],数组第一项代表 SWAN 初始页面. SWAN 中新增或减少页面 ...