假设我有一个域对象Customer。在这个对象上,我有一个外部站点的地址。
@PropertyLayout(named = "Link", describedAs = "Clickable link to customer")
public String getLink() {
return "http://www.customer.com";
}在这种情况下,这将显示为只是在网页上的文本。如何在wicket查看器中创建一个可点击的链接?
发布于 2017-05-16 06:53:58
还有一个第三方扩展:https://github.com/kev-m/isis-wicket-url/ --这是由我们的提交人之一Kevin完成的。
我提出https://issues.apache.org/jira/browse/ISIS-1616是为了将其纳入框架“适当”中。
同时,您可以添加一个操作来轻松地打开链接。
@Action(semantics=SemanticsOf.SAFE)
@MemberOrder(named="link", sequence="1")
public java.net.URL openLink() throws MalformedURLException {
return new java.net.URL(getLink());
}为了结束这一切,你可以增加一个守卫:
public String disableOpenLink() {
if(getLink() == null) { return "no link to open."; }
try {
openLink();
} catch(MalformedURLException ex) {
return "Bad link";
}
return null;
}发布于 2017-05-15 23:28:32
我不认为在Apache中有现成的解决方案。您将需要为其滚动您自己的Wicket组件。例如,用自定义注释@ExternalLink注释该属性,然后注册一个为该属性创建Wicket ExternalLink组件的ComponentFactory。例如,请参见https://github.com/isisaddons/isis-wicket-summernote/blob/master/cpt/src/main/java/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory。
https://stackoverflow.com/questions/43978393
复制相似问题