得到属性的组件标签
问题描述:
在检票口,我需要得到一个组件的标记标签的值的值,例如:得到属性的组件标签
<a href="#" name="#">...</a>
在这里,我需要name
属性的Wicket的Java类的值,例如:
String name = /*{link's tag name}*/;
我需要在name
的价值分配为标签<a>
的name
属性。
答
正如我从你的问题中意识到的那样,你需要对你的导叶组件的标签参数进行昼夜的设置。
所以,你有几种选择来做到这一点:
使用
AttributeModifier
静态方法,如#append("class", "appendedClass")
或#replace("name", "#")
(其中,第一个参数是标签的属性,第二是它的价值)设置任何价值你想要标签,但是请注意,你不能用这种方法获得当前的标签值。另外,请注意不要在“渲染”方法(如#onConfigure()
)中添加此修饰符,也不要在浏览器中的每个页面或组件的刷新中创建修改器重复项。重写
#onComponentTag()
这样的方法。
...new Link ("link") {
@Override
protected void onComponentTag (final ComponentTag tag)
{
super.onComponentTag (tag); // you should always call super.
tag.getName(); // get name of the tag: a/div/span..
tag.setName ("span"); // set tag's name.
tag.getAttribute ("name"); // get 'name' attribute's value.
tag.put ("name", "#"); // set 'name' attribute's value
}
}
开始=>