読者です 読者をやめる 読者になる 読者になる

Wicket で Component 毎に StripWicketTags の設定って出来ないのかなぁ


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 を指定してるタグが消されるだけで
が消されないのです><