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中的传递过程;