Hyperlink 如何在HTML中的wicket链接上放置参数?

Hyperlink 如何在HTML中的wicket链接上放置参数?,hyperlink,wicket,parameter-passing,Hyperlink,Wicket,Parameter Passing,Wicket有两个创建链接的选项 例如,这个 <wicket:link><a href="Page2.html?productId=1694969292874602935">Go to Page 2 </a></wicket:link> 这显示它传入了一个参数。然而,我们不能使用,因为我们需要链接到页面弹出,并且:链接自动链接页面不这样做 进行链接的唯一其他方法如下所示: <a href="#" wicket:id="launchlin

Wicket有两个创建链接的选项

例如,这个

<wicket:link><a href="Page2.html?productId=1694969292874602935">Go to Page 2
</a></wicket:link>

这显示它传入了一个参数。然而,我们不能使用,因为我们需要链接到页面弹出,并且:链接自动链接页面不这样做

进行链接的唯一其他方法如下所示:

<a href="#" wicket:id="launchlink">click here</a>
<a href="#" wicket:id="launchlink" wicket:params="productid=2342">click here</a>

问题是,使用上面的符号,我如何给它一个设计人员可以输入的参数?大概是这样的:

<a href="#" wicket:id="launchlink">click here</a>
<a href="#" wicket:id="launchlink" wicket:params="productid=2342">click here</a>

有什么想法吗

我们可以挂载页面,然后使用硬编码的html链接,例如

    <a href="/mount/launch/?productid=asdf">click here</a>

但是,我们特别不希望此链接成为书签,因为它依赖于登录会话等


理想情况下,我们希望能够动态添加一些参数,并使用设计师手动添加到html页面的一些参数。这听起来太极端了,不可能实现,但你永远不知道?

编写自己的链接实现。

<a href="#" wicket:id="launchlink" wicket:params="productid=2342">click here</a>

因此,您必须检索标记流。然后用正则表达式提取参数。但是您应该使用另一个名称空间来避免冲突

要开始,请查找:

  • 或者你自己去抓猎物

这不是一个现成的答案,但我认为不需要太多代码就可以完成。

使用BookmarkablePageLink,重写其onInitialize()方法,并使用org.apache.wicket.Component.getMarkupAttributes()获取自定义属性值,并将其附加到带有org.apache.wicket.markup.html.link.BookmarkablePageLink.setParameter的链接中(串,串)