Inheritance 告诉wicket:link不要覆盖标记

Inheritance 告诉wicket:link不要覆盖标记,inheritance,hyperlink,wicket,markup,Inheritance,Hyperlink,Wicket,Markup,我正在为用户界面开发一些SVG按钮。我必须在java文件中动态创建一个链接,其中包含一些来自标记的代码。下面的代码是我的标记输入示例 html标记输入: <svg> <g> <wicket:link wicket:id="test"> <path ..../> <path ..../> </wicket:link> </g&

我正在为用户界面开发一些SVG按钮。我必须在java文件中动态创建一个链接,其中包含一些来自标记的代码。下面的代码是我的标记输入示例

html标记输入:

<svg>
    <g>
        <wicket:link wicket:id="test">
            <path ..../>
            <path ..../>
        </wicket:link>
    </g>
</svg>
我希望标记输出如下所示:

html标记输出:

<svg>
    <g>
        <a wicket:id="test" xlink:href="someurl">
            <path ..../>
            <path ..../>
        </a>
    </g>
</svg>
问题是,wicket最终会删除标记html中的路径指令,而它不应该这样做。有什么方法可以正确地做到这一点吗? 对于测试,我提出了一些我不满意的肮脏工作,因为它损害了不在java中创建html的wicket约定。如下所示:

html标记脏方式输入:

<svg>
    <g>
        <wicket:container wicket:id="linkbeginning">
            <path ..../>
            <path ..../>
        <wicket:container wicket:id="linkending">
    </g>
</svg>
java肮脏方式:

add(new Label("linkbeginning", "<a xlink:href =\""+linkurl+"\">");
add(new Label("linkending", "</a>");
在这个输出中结束:

<svg>
    <g>
        <a xlink:href="someurl">
            <path ..../>
            <path ..../>
        </a>
    </g>
</svg>

我希望你们能帮助我

为什么不使用带有锚定标记的常规链接组件?例:

<a wicket:id="link">
    <div>link</div>
    <span>span</span>
</a>
链接组件将保留其内部标记体

add(new Link("link")
    {
        @Override
        public void onClick()
        {

        }
    });