我想重构一些ui代码。
我有一个html表单(这里:用一个叫做wicket的javagui编写),在这里我放置了一些链接(锚定标记)。我想创建一个新的优雅的helper方法,而不是一遍又一遍地重复代码。
String type = "", id = "";
Form form, Service service;
form.add(new Widget("createLink", form) { // the same for read, update, delete
private static final long serialVersionUID = 1L;
@Override
public void onSubmit() {
try {
service.create(type, id); // the same for service.read / update / delete
info("Specific message for create, read, update, delete");
} catch (DataAccessException e) {
error(ExceptionUtils.getRootCauseMessage(e));
}
}
});
form.add(new Widget("readLink", form) {
// ... service.read(...); info("... read ...");
});
form.add(new Widget("updateLink", form) {
// ... service.update(...); info("... update ...");
});
正如你已经猜到的,我想要像这样的东西
form.add(createLink(htmlId, form, type, id, message, ?));
我想避免为此创建一个额外的类。但是兰博达斯会没事的。
最好的方法是什么?这种模式叫什么?
谢谢。
2条答案
按热度按时间lsmd5eda1#
为了
?
你可以用java.util.function.Consumer
:用法:
4ngedf3f2#
您还可以从wicketstuff中查看这个实用程序类,它与ajax链接的功能非常相似。