Wicket で
wicket:id とか
WebApplication#getMarkupSettings().setStripWicketTags(true)
を使えばいい。
ただ、これだとアプリケーション全体に派生しちゃうので
Component 毎に出力の可否を設定したいんだけどどうやるんだろう?
なんでそんな事をしたいかと言うとカスタムコンポーネントを作ってて
Panel を使ってるんだけど Fx だと
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/" lang="ja" xml:lang="ja" dir="ltr"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>sample</title> </head> <body> <div style="width: 500px;height: 500px" wicket:id="div1"> <wicket:panel> <div style="height:100%;border: solid 4px #000000;" class="map" wicket:id="div2"></div> </wicket:panel> </div> </body> </html>
2個目の div の縦幅が最小になっちゃう(100% を指定してるのに)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/" lang="ja" xml:lang="ja" dir="ltr"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>sample</title> </head> <body> <div style="width: 500px;height: 500px" wicket:id="div1"> <div style="height:100%;border: solid 4px #000000;" class="map" wicket:id="div2"></div> </div> </body> </html>
だと正常(期待した)動作なので困り中。
カスタムコンポーネントがアプリケーション全体の設定を変更しちゃうのも気がひけるので
どうしよう><
本家のメーリングリストだと
Component.setRenderBodyOnly(true) should do the trick I think.
って言ってるんだけど、それだと wicket:id を指定してるタグが消されるだけで