struct2框架的核心组件是action和拦截器,它使用包来管理action和拦截器,每个包就是多个action、多个拦截器引用的集合。在struct.xml中,package元素用于定义包的配置,每个package元素定义了一个包配置。

package元素的常用属性:

name:    必填属性,指定该包的名字;

namespace:  可选属性,定义该包的命名空间

extends:     可选属性,指定该包是否继承其他包。

abstract:     可选属性,指定该包是否是一个抽象包,不能包含 action 的定义

测试了好长时间,发现固定的可以调用,动态的没办法调用

<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
虽然开启了动态调用,但这个只是在form表单中的动态调用,超链接的时候,发现没办法实现动态调用,

在struct2.5.x版本中需要关闭安全调用(strict-method-invocation="false"),

最终的形式;namespace:是命名空间,与访问的uri有关系;

官方给的一个请求,在struct中的传递过程;