<wicket:link><wicket:child><wicket:extend><wicket:remove>
转自:http://shazhifeng.iteye.com/blog/319885
我们使用wicket的Link控件之后我们可以对<a>标签进行强有力的控制,但是如果出现特殊的情况,一定要在HTML页面上出现连接URL,那么<a href="test.html">连接到test页面</a>就会失效,因为我们的wicket程序和页面是放在classes文件夹下面,因此这样会访问不到test.html。
我们需要使用<wicket:link>标签围堵:
<wicket:link>
<a href="test.html">连接到test页面</a>
<wicket:link/>
这样就可以访问了。
还有另外一个应用,我以前写J2EE页面的时候,那些重复出现的页面,例如导航栏,copyright栏,我一般都是使用include动作或者include指令包含进来,刚学习wicket的时候wicket也提供了一个Include控件实现同样的功能。但是我觉得最强大的还是使用<wicket:child> <wicket:extend>实现页面的继承,啊,好强大啊!我以前一直都想J2EE页面可不可以继承重用呢,wicket帮我实现了!
例子:
我有一个BasePage.html,只显示页头和页尾:
<html>
<body>
<span wicket:id="header">这里显示页头</span>
<wicket:child/>
<span wicket:id="footer">这里显示页尾</span>
</body>
</html>
我们注意到中间那个<wicket:child/>。这标签表示在页头页尾之间显示BasePage.java的子类页面。
之后编写ChildPage.html页面:
<html>
<body>
<wicket:extend>
这里是我继承的地方!
<wicket:extend/>
</body>
</html>
我们需要BasePage extends WebPage,ChildPage extends BasePage
那么最后当我们链接到ChildPage.html的时候,就会显示:
页头
这里是我继承的地方!
页尾
<wicket:remove>主要用于屏蔽一些假数据,例如原来美工为了看到页面效果用来显示的假数据。用次标签围堵的数据不会显示到客户端。