首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache ISIS外部链接

Apache ISIS外部链接
EN

Stack Overflow用户
提问于 2017-05-15 11:32:17
回答 2查看 224关注 0票数 1

假设我有一个域对象Customer。在这个对象上,我有一个外部站点的地址。

代码语言:javascript
复制
@PropertyLayout(named = "Link", describedAs = "Clickable link to customer")
public String getLink() {
    return "http://www.customer.com";
}

在这种情况下,这将显示为只是在网页上的文本。如何在wicket查看器中创建一个可点击的链接?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-16 06:53:58

还有一个第三方扩展:https://github.com/kev-m/isis-wicket-url/ --这是由我们的提交人之一Kevin完成的。

我提出https://issues.apache.org/jira/browse/ISIS-1616是为了将其纳入框架“适当”中。

同时,您可以添加一个操作来轻松地打开链接。

代码语言:javascript
复制
@Action(semantics=SemanticsOf.SAFE)
@MemberOrder(named="link", sequence="1")
public java.net.URL openLink() throws MalformedURLException {
    return new java.net.URL(getLink());
}

为了结束这一切,你可以增加一个守卫:

代码语言:javascript
复制
public String disableOpenLink() {
    if(getLink() == null) { return "no link to open."; }
    try {
        openLink();
    } catch(MalformedURLException ex) {
        return "Bad link";
    }
    return null;
}
票数 2
EN

Stack Overflow用户

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43978393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档