不,你不太正确。如果页面位于WEB-INF
. 约定插件按照约定从类中创建附加到基于 XML 的配置Action
。因此,您只能访问这些操作返回的结果。约定插件将其配置放置在 XWork 包下,如文档和此答案中所述。因此,如果您不指定父包,则可以解决冲突。您还可以使用约定注释来自定义生成的配置。默认情况下,约定插件会扫描基本包下的类,这些类可以是struts
可actions
配置的,并且具有Action
后缀。这些都是约定插件的默认配置。如果您想更改默认设置,可以使用常量标签 instruts.xml
或struts.properties
.
但是,文档并不清楚它是如何处理的
由 URL 标识的无操作结果
此外,还不清楚使用什么 URL 来识别它。我想您已经熟悉无操作配置,您可以在不执行操作的情况下返回结果 SUCCESS,因为默认使用操作类。但是,问题甚至不在这里。上面提到的约定插件连同它创建的配置还放置了一个未知的处理程序,该处理程序应该处理不存在配置的 URL(即不是由约定创建的)。这就是问题的根源。该插件也不允许替换/覆盖配置。令人高兴的是,有未知的处理程序管理器(如果需要可以替换)谁通过迭代处理未知操作"unknown-handler-stack"
,由该经理管理。使用处理程序堆栈,您可以配置迭代未知处理程序的顺序。请注意,当处理程序返回操作配置时,循环结束。这意味着如果您创建自己的未知处理程序并在堆栈中设置顺序,则可以绕过约定处理程序。
.