将wicket面板中的链接转换为超链接

将wicket面板中的链接转换为超链接,wicket,Wicket,我正试图找到一种方法,自动将面板中的链接转换为超链接。例如,用户输入是: 在这里你可以找到我的精彩例子: 在wicket中是否可以为每个节点添加锚元素http://... 文本,因此上面的示例将输出 在这里你可以找到我的精彩例子: 相反,一种方法是扩展和覆盖onComponentTagBody 比如: public class AnchorizeLabel extends Label { public AnchorizeLabel(String id, String body) {

我正试图找到一种方法,自动将面板中的链接转换为超链接。例如,用户输入是:

在这里你可以找到我的精彩例子:

在wicket中是否可以为每个节点添加锚元素http://... 文本,因此上面的示例将输出

在这里你可以找到我的精彩例子:


相反,一种方法是扩展和覆盖onComponentTagBody

比如:

public class AnchorizeLabel extends Label {

    public AnchorizeLabel(String id, String body) {
        super(id, body);
    }

    @Override
    protected void onComponentTagBody(MarkupStream stream, ComponentTag tag) {
        String newBody = createAnchors(getDefaultModelObjectAsString());
        replaceComponentTagBody(stream, tag, newBody);
    }

    private String createAnchors(String body) { 
        // regex magic to create links
    }
}

您也可以使用自定义或,但我更喜欢标签方法。

一种方法是扩展和覆盖onComponentTagBody

比如:

public class AnchorizeLabel extends Label {

    public AnchorizeLabel(String id, String body) {
        super(id, body);
    }

    @Override
    protected void onComponentTagBody(MarkupStream stream, ComponentTag tag) {
        String newBody = createAnchors(getDefaultModelObjectAsString());
        replaceComponentTagBody(stream, tag, newBody);
    }

    private String createAnchors(String body) { 
        // regex magic to create links
    }
}

您也可以使用自定义或自定义方法来完成此任务,但我更喜欢标签方法。

您可以使用Wicket的内置方法

从Javadoc:

如果显示的数据中包含电子邮件地址或web URL,则可以自动将这些数据作为超链接显示,而无需采取任何操作来转换该数据


你可以使用Wicket内置的

从Javadoc:

如果显示的数据中包含电子邮件地址或web URL,则可以自动将这些数据作为超链接显示,而无需采取任何操作来转换该数据