我们使用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>主要用于屏蔽一些假数据,例如原来美工为了看到页面效果用来显示的假数据。用次标签围堵的数据不会显示到客户端。
分享到:
相关推荐
StringResourceModel model = new StringResourceModel("welcome.user", this, null, new Model<>(username)); String localizedText = model.getObject(); ``` **四、多语言切换** 1. **LocaleResolver**:...
JSF的无状态实现方式很直观,处理<f:view>的TagHandler将其布尔值属性transient 传递给UIViewRoot#setTransient即可。如果页面设置为临时的,JSF StateManager就不存储它的任何数据,页面还原时,它也会被创建为无...
- **模板继承**:可以使用`<wicket:extend>`标签实现模板的继承,减少重复代码。 - **条件标签**:如`<wicket:container>`可以根据模型值动态显示或隐藏元素。 6. **调试和测试** - **调试工具**:Wicket提供了...
<groupId>org.apache.wicket</groupId> <artifactId>wicket-core</artifactId> <version>1.4.17</version> </dependency> </dependencies> ``` ##### 3. 编写Hello World应用 创建一个简单的Wicket页面,展示...
DropDownChoice<String> firstName = new DropDownChoice<>("firstName", new CompoundPropertyModel<>(Test.this), firstList) { @Override protected void onComponentTagBody(final MarkupStream markupStream...
例如,`<s:textfield>`用于创建输入字段,`<s:submit>`创建提交按钮,`<s:property>`用来显示值栈中的数据。这些标签使得开发者无需直接处理HTML代码,提高了代码的可读性和可维护性。 ValueStack是Struts2的核心...
<div wicket:id="message"></div> </body> </html> ``` **五、运行并测试** 1. **配置Web服务器**:配置你的Web服务器(如Tomcat)或使用内置的Jetty服务器(如果使用Maven或Gradle插件)来运行你的应用。 2. *...
文档:通过所有mustache模空白差异添加maven依赖: < dependency> < groupId>de.agilecoders.wicket.mustache</ groupId> < artifactId>wicket-mustache</ artifactId> < version>0.1.0</ version></ dependency> ...
Wicket使用Wicket标记语言(WML)或者直接使用HTML模板,通过`<wicket:id>`标签将HTML元素与Java组件关联。这使得开发者可以在不修改HTML的情况下更新组件的行为。 **6. 国际化与本地化** Wicket提供内置的国际化...
<param-value>.xhtml</param-value> </context-param> ``` 4. **配置`faces-config.xml`**:指定使用Facelets的视图处理器。 ```xml <application> <view-handler>com.sun.facelets.FaceletViewHandler</view-...
<span wicket:id="lbName"></span> ``` - Java部分: ```java Label lbName = new Label("lbName", "wyk"); this.add(lbName); ``` - 这种方法仅能显示静态文本“wyk”,并且无法动态修改。 - **使用Model*...
textarea wicket:id =" code " > </ textarea > 更多例子 您可以通过将wicket-ace maven项目导入到IDE中并运行Start类来运行示例。 下载 wicket-ace托管在Maven Central中 < dependency> < groupId>org....
Form<ClinicItem> form = new Form<>("form"); add(new Component[]{form}); form.add(new Component[]{button}); ``` #### 四、Wicket配置与部署 1. **web.xml配置**:这是Wicket应用的重要配置文件,...
firstName = new DropDownChoice<>("firstName", new PropertyModel<>(this, "firstName"), firstList); firstName.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate...
Wicket 是一个开源的Java Web框架,用于构建可重用且易于维护的Web应用程序。它以其组件模型和数据绑定机制而闻名,与Struts等传统MVC框架相比,提供了更直观和面向对象的编程方式。 在Wicket基础知识培训中,首先...
什么是Apache Wicket?... 可以在以下位置找到Apache Wicket: : 并已获得Apache Software Foundation许可版本2.0的许可。 入门 Wicket项目包含多个资源和项目,您可以从中学习并快速入门: Wicket用户指南 ://w
wicket-jquery-ui Wicket 7.x,Wicket 8.x和Wicket9.x中的jQuery UI和Kendo UI集成 ... < artifactId>wicket-jquery-ui</ artifactId> < version>9.2.1</ version> </ dependency> < dependency
在页面标记方面,Wicket使用了自己的标记语言,特别是wicket:extend标签,它允许页面继承其他页面的标记,从而使得页面的组织更为清晰和有序。 在控制HTML方面,Wicket提供了多种机制,如隐藏或禁用组件、修改标签...
Docker Wicket 适用于v1和v2的Docker注册表身份验证/索引服务器。 该项目基于和。...v2 + auth)服务器docker login 127.0.0.1:5000<any>docker tag <YOUR> 127.0.0.1:5000/testdocker push 127.0.0.1:5000/te
NULL 博文链接:https://fengyunxiao.iteye.com/blog/684835