タグの body 書き換え

Wicket で HTML <a>タグのBODYを動的に変えたい時は、以下のようにするのが良いようだ。

BookmarkablePageLink で書く場合、、、

final String linkbodyString = "foo2";


add(new BookmarkablePageLink<Void>("foolink",FooPage.class){
   @Override
   protected void onComponentTagBody(MarkupStream markupStream,ComponentTag openTag){
      replaceComponentTagBody(markupStream,openTag,
linkbodyString);
   }

});


WebMarkupContainer で書く場合、、、

WebMarkupContainer link = new WebMarkupContainer("foolink"){
   @Override
   protected void onComponentTagBody(MarkupStream markupStream,ComponentTag openTag){
     replaceComponentTagBody(markupStream,openTag,
linkbodyString);
   }

};
link.add(new SimpleAttributeModifier("href","?wicket:bookmarkablePage=:jp.uran.FooPage"));
add(link);