我正在使用 Struts 2 和struts2-convention-plugin迈出第一步,目前正在SongCrudAction使用一些典型create()的edit()、view()和delete()action 方法处理一个 CRUD 动作类 ( )。所有这些方法都用@Action.
通常,我想从 继承有用的默认行为ActionSupport,但这也包括继承execute()方法。
使用配置浏览器,我可以看到有一个名为song-crud指向它的动作。该song-crud操作已过时,我想摆脱它,因为我有自己的操作方法可用于所有所需的操作。我想,由于 Struts2 的约定,song-crud尽管我没有在任何地方声明它,但该操作是假定的。
在这种特殊情况下,一种可能的解决方案是赋予该execute()方法一些合理的含义,例如我可以将它用于view()操作。一个缺点是动作类应该根据execute()方法的行为重命名(或注释?)(例如ViewSongAction,而不是SongCrudAction)。否则,视图操作的 URL 将不合适(即/view-song?id=5比 更适合/song-crud?id=5)。
另一方面,重命名类也很丑陋,因为它只是一个 CRUD 而不是视图操作类。
无论如何,一般问题仍然存在:每当我从 继承时ActionSupport,它都会为我提供一种execute()方法,该方法可能对我正在做的事情有用,也可能没有用。
因此,以某种方式告诉 Struts 2 异常忘记execute()我的 CRUD 操作类中的方法似乎是合理的。这是对的,我怎样才能做到这一点?有更好的解决方案吗?