Struts2(7):struts.xml中的<package>元素
来源:互联网 发布:个人 软件著作权申请 编辑:程序博客网 时间:2024/06/05 10:52
实现了Action处理类之后,就可以在struts.xml文件中配置该Action了。配置Action就是让Struts2知道哪个Action处理哪个请求,也就是完成用户请求和Action之间的对应关系。我们可以认为,Action是Struts2的基本“程序单位”。
Struts2使用<package>来组织Action,因此将Action定义放在包定义下完成,定义Action使用<action>元素完成。
Struts2框架中核心组件就是Action和拦截器,Struts2框架使用<package>来管理Action和拦截器。每个<package>就是多个Action、多个拦截器、多个拦截器引用的集合。
定义<package>元素时可以指定如下几个属性:
struts2-core-2.1.8.1.jar里已经定义了struts-default抽象包,该包下包含了大量结果类型定义,拦截器定义,拦截器引用定义等,这些定义是配置普通Action的基础,所以开发者定义的package通常应该继承struts-default包。
<package>的命名空间---namespace属性:
从前面的内容可以看出,每次定义一个package元素时,都可以指定一个namespace属性,用于指定该包对应的命名空间。
Struts2之所以提供命名空间的功能,主要是为了处理同一个Web应用中包含同名Action的情形。有了命名空间的话,同一个命名空间里不能有同名的Action,不同的命名空间里可以有同名的Action。
Struts2不支持为单独的Action设置命名空间,而是通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间。如果没有为<package>指定namespace属性,则该包下的所有Action处于默认的包空间下。
当某个包指定了命名空间后,该包下所有Action处理的URL应该是命名空间+Action名。譬如:
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "http://struts.apache.org/dtds/struts-2.1.7.dtd"><struts><package name="demo" extends="struts-default" namespace="/test"><action name="login" class="action.Login"><result name="success" type="dispatcher">/ok.jsp</result><result name="login" type="redirect">/login.jsp</result></action></package></struts>上面配置文件为<package>元素指定了namespace属性为“/test”,那么此时login.jsp中的<form>的action属性就不再是"login",而是"test/login":
login.jsp :
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><html><head><title>Insert title here</title></head><body><form action="test/login" method="post">姓名:<input type="text" name="username"><br>密码:<input type="password" name="password"><br><input type="submit" value="登录"></form></body></html>
- Struts2(7):struts.xml中的<package>元素
- struts.xml 中的package
- struts.xml中的package介绍
- Struts2 在Struts.xml配置包 package
- Struts2-struts.xml中<package>配置
- struts配置文件struts.xml三个元素package,action,result详解
- Struts中struts.xml配置文件的主要元素(package,action)
- struts中的xml元素解释
- struts.xml 中的几个元素
- Struts2中的struts.xml注释
- Struts2 struts.xml配置元素顺序问题
- java中struts2中配置struts.xml的package
- struts2 package元素配置
- struts-config.xml中的controller元素
- struts-config.xml中的controller元素
- 引用 struts-config.xml中的controller元素
- Struts2学习笔记之package元素中的namespace搜索规则
- Struts2中的struts-default.xml文件
- 【ImageView】图片自适应及android:scaleType属性
- Android开发中一些直接拿来用的代码片段
- 折腾人的 excel 计算公式
- JS操作JSON总结
- PHP导出 Excel表格数据
- Struts2(7):struts.xml中的<package>元素
- 提供一个Twitter的API(Python)
- WPF的字体样式
- VC6.0 error LNK2001: unresolved external symbol _main解决办法
- Android中使用Gson
- 类加载过程学习总结笔记
- 破解面试题2_银行业务调度系统
- 变量的储存方式
- 阅读软件之比较