我正在使用 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 操作类中的方法似乎是合理的。这是对的,我怎样才能做到这一点?有更好的解决方案吗?