在我的vaadin / spring应用程序中,我有一个表可以添加动作处理程序。如果表已经有一个动作处理程序,有没有选择如何chcek?
答案 0 :(得分:1)
我检查了com.vaadin.ui.Table
类的源代码以及它如何处理Action处理程序 - 不幸的是,我没有找到任何直接的方法来检查表中有多少个动作处理程序(Vaadin版本7.7。 6) - 因为处理动作句柄的唯一暴露方法是:
addActionHandler
- 用于添加操作处理程序removeActionHandler
- 用于删除特定操作处理程序removeAllActionHandlers
- 用于删除所有操作处理程序然而,好消息是addActionHandler方法只有在尚未添加时才会添加新处理程序。因此,如果您只是想确保没有添加两次处理程序,只需在处理程序中强制使用equals()
方法,就不应该添加两次。请参阅方法com.vaadin.ui.Table#addActionHandler
的代码,并在那里设置一些调试点......