Java 是否应该在struts.xml中列出所有操作类

Java 是否应该在struts.xml中列出所有操作类,java,struts2,Java,Struts2,是否应在struts.xml中列出所有操作类?如果struts.xml中没有列出action类,struts2框架是否可以知道这些类 背景:我对struts比较陌生,被要求清理一些struts2代码。有些类在struts2.xml、任何jsp或javascript(我做了字符串搜索)中都没有引用。我想知道我能不能把这些拿走 编辑:我很确定这些类没有被其他Java类/库使用。这就是我想知道的struts部分。是的,它们必须是。这是公认的正确做法。如果struts.xml中没有列出任何操作类,并不意

是否应在struts.xml中列出所有操作类?如果struts.xml中没有列出action类,struts2框架是否可以知道这些类

背景:我对struts比较陌生,被要求清理一些struts2代码。有些类在struts2.xml、任何jsp或javascript(我做了字符串搜索)中都没有引用。我想知道我能不能把这些拿走


编辑:我很确定这些类没有被其他Java类/库使用。这就是我想知道的struts部分。

是的,它们必须是。这是公认的正确做法。

如果struts.xml中没有列出任何操作类,并不意味着应用程序不需要它。不能仅仅因为类未在struts.xml中列出就删除它。它可能已被其他类内部使用。

为了以其预期形式用作web动作,以下四种可能性之一必须为真:

  • 该类列在struts.xml中
  • 该类使用struts注释进行注释
  • 该类由另一个action类继承
  • 您的项目正在使用@Christina提到的约定插件
  • 如果您正在查看的类不在struts.xml中,没有注释,也没有在项目中的任何其他地方引用,并且项目中没有包含约定插件,那么您就可以开始了


    唯一的其他问题是查找其他*.xml文件。struts.xml能够将其他xml文件包含在其中,因此此类的实际操作配置可能位于不同的xml文件中。

    否,并非所有Struts2操作都需要在xml文件中声明。如果您使用的是约定插件,那么Struts2框架还知道名为struts、Struts2、action或actions的包中包含的所有类,这些类实现com.opensymphony.xwork2.action或名称以action结尾。当然,约定插件也可以配置为识别其他类。看这里(http://struts.apache.org/2.1.6/docs/convention-plugin.html)有关约定插件如何工作的更多详细信息。

    当您继承一个新项目时,无法知道您将发现什么异常。当你做任何改变时,你应该测试以确保你没有损坏任何东西。