告诉wicket:链接不要覆盖标记

时间:2014-11-03 09:34:52

标签: inheritance hyperlink wicket markup

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

html-markup输入:

<svg>
    <g>
        <wicket:link wicket:id="test">
            <path ..../>
            <path ..../>
        </wicket:link>
    </g>
</svg>

我希望标记输出看起来像这样:

html-markup输出:

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

问题是,wicket最终将删除标记html中的路径指令,它不应该这样做。有没有办法正确地做到这一点? 为了进行测试,我提出了一些肮脏的工作,我不满意因为它伤害了不在java中创建html的wicket约定。它看起来如下:

html-markup脏方式输入:

<svg>
    <g>
        <wicket:container wicket:id="linkbeginning">
            <path ..../>
            <path ..../>
        <wicket:container wicket:id="linkending">
    </g>
</svg>

java dirty-way:

add(new Label("linkbeginning", "<a xlink:href =\""+linkurl+"\">");
add(new Label("linkending", "</a>");

以此输出结束:

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

我希望你们能帮助我!

1 个答案:

答案 0 :(得分:0)

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

<a wicket:id="link">
    <div>link</div>
    <span>span</span>
</a>

和代码

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

        }
    });

链接组件将保留其内部标记正文。