1、package 元素:
1.1 作用:方便分模块化开发
1.2 属性:
name:必须有。唯一。标识一个包, 好有一定的含义。
extends:继承。一般要求必须继承struts-default的包。不继承该包,将无法使用struts2提供的一些核心功能。struts-default包在struts-default.xml中有配置,加载自己的struts.xml文件之前,框架就已经加载了struts-default.xml配置文件,所以我们可以使用。
abstract:是否是抽象包。让别人继承用的。没有任何action子元素的包就可以声明为抽象包。
namespace:名称空间。默认值是""
,称之为默认名称空间。取值一般以/开头。
namespace和的name共同组成了用户访问的URI.
如下:URI=/user/hello.action
1.3 关于namesapce的搜索顺序问题
2、action 元素:
action:定义一个动作
name :动作名称。对应着用户的请求名称,默认的后缀是action或没有后缀
class:框架要实例化的动作类名称,全名称。默认值是:com.opensymphony.xwork2.ActionSupport。在struts-default.xml中有定义。
method:执行的动作类的动作方法。默认值是execute
参考:
https://blog.csdn.net/weixin_37121625/article/details/55194076
https://www.cnblogs.com/fingerboy/p/5183663.html
名称空间:
http://www.blogjava.net/feicer/articles/258036.html
https://www.cnblogs.com/oscar1987121/p/6368914.html
https://blog.csdn.net/menghuannvxia/article/details/47169991
约束:
struts.xml文件头部的文件可以参看struts2-core-2.2.3.jar包中的 struts-default.xml 文件,这个文件规定了诸多struts2文档的基本设置
struts.xml文件中的内容,这文件的名字是固定的,位于项目的src目录下(根据框架的实际规定决定)
<?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">
https://blog.csdn.net/bestcxx/article/details/51133820
https://blog.csdn.net/axi295309066/article/details/52761609
动态代理: