我知道有几种方法可以做到这一点,但我正在寻找最好的方法(我是Wicket的新手).
在下面的HTML代码中,我标记了2个需要替换一些虚拟文本的区域.有问题的文字是{APP_TITLE}和{PAGE_TITLE}.我只想用简单的字符串替换它们.
题
首先<div>,在不丢失DIV内的内容和当前定义div的属性(以及将来添加的属性)的情况下,替换这些值的最佳方法是什么?
<html lang="en">
<head>
<!-- Replace here -->
<title>{APP_TITLE} - {PAGE_TITLE}</title>
</head>
<body>
<!-- Replace here -->
<div class="corpAppTemplate" corp:app="{APP_TITLE}" corp:title="{PAGE_TITLE}">
<ul class="corpAppMenu" wicket:id="MenuList">
</ul>
<span wicket:id="UserID">UserID</span>
<wicket:child/>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您可以使用AttributeModifier更改任何给定标记的特定属性,您只需要在标记中添加wicket:id,以使wicket能够检测您想要更改的位置.
例如.在HTML替换中:
<div class="corpAppTemplate" corp:app="{APP_TITLE}" corp:title="{PAGE_TITLE}">
Run Code Online (Sandbox Code Playgroud)
同
<div wicket:id="template" class="corpAppTemplate" corp:app="{APP_TITLE}" corp:title="{PAGE_TITLE}">
Run Code Online (Sandbox Code Playgroud)
并将以下内容添加到您的java页面:
template = new WebMarkupContainer("template");
add(template);
template.add(new AttributeModifier("corp:app", true, new Model("{APP_TITLE}")));
template.add(new AttributeModifier("corp:title", true, new Model("{PAGE_TITLE}")));
Run Code Online (Sandbox Code Playgroud)
有关AttributeModifier的更多详细信息,请参阅wicket文档http://wicket.apache.org/apidocs/1.4/org/apache/wicket/AttributeModifier.html
| 归档时间: |
|
| 查看次数: |
4223 次 |
| 最近记录: |