2011-07-17 1 views
1

ウィケットには、リンクを作成するための2つのオプションがあります。HTMLのウィッケットリンクにパラメータを入れる方法は?

など。この

<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> 

アイデアをお持ちですか?

ページをマウントし、ハードコードされたhtmlリンクを使用することができます(例:

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

しかし、我々は、具体的にそれに依存するが、セッションにログインしてこのリンクをブックマーク可能になりたいなどといけない

理想的には、我々は動的にいくつかのパラメータを追加できるようにしたい、とすることをいくつかを使用しますデザイナーはhtmlページに手動で追加しました。これは可能な限り極端に聞こえますが、あなたは知らないでしょうか?

答えて

0

独自のリンク実装を作成します。

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

したがって、マークアップストリームを取得する必要があります。その後、正規表現でパラメータを抽出することができます。しかし、競合を避けるために別の名前空間を使用する必要があります。始めるため

、探し:

これはすぐに使用できる答えではありませんが、多量のコードなしで行うことができます。

2

BookmarkableObjectを使用してonInitialize()メソッドをオーバーライドし、org.apache.wicket.Component.getMarkupAttributes()を使用してカスタム属性値を取得し、org.apache.wicket.markup.html.linkをリンクに追加します.BookmarkablePageLink.setParameter(String、String)。

関連する問題