6.1 method属性处理调用

6.2 DMI调用

在实际应用中,随着应用程序的不断扩大,我们不得不管理数量庞大的 Action。例如,一个系统中,用户的操作可分为登录和注册两部分,一个请求对应一个 Action 的话,我们将要编写两个 Action 来处理用户请求。在具体开发过程中,为了减少 Action 的数量,通常在一个 Action 中编写不同的方法(必须遵守 execute 方法相同的格式)处理不同的请求,如编写 UserAction,其中 login()方法处理登录请求,register()方法处理注册请求。此时可以采用动态方法调用(Dynamic Method Invocation,DMI)来处理。动态方法调用是指表单元素的 action 并不是直接等于某个 Action 的名称。
使用格式:
<form action="Action 名字!方法名字">  !后直接跟Action中方法名
注意:需要配置打开动态方法调用



6.3通配符调用

通配符用星号(*)来表示,用于配置 0 个或多个字符串。在项目中,有很多的命名规则是约定的,如果使用通配符,就必须有一个统一的约定,否则通配符将无法成立。


6.4配置默认Action

如果我们请求一个不存在的 Action,那么结果将会是在页面上出现 HTTP 404 的错误。
为了解决这个问题,Struts 2 框架允许我们指定一个默认的 Action,即如果没有一个 Action
匹配请求,那么默认的 Action 将被执行。
配置默认的 Action 通过<default-action-ref…/>元素来完成

6.5 Action细节