在wicket中,我需要获取组件标记标记的值,例如:
<a href="#" name="#">...</a>
在这里,我需要Wicket java类中name
属性的值,例如:
String name = /*{link's tag name}*/;
我需要将name
的值指定为代码name
的{{1}}属性。
答案 0 :(得分:4)
正如我从你的问题中意识到的那样,你需要在音速上获取/设置你的wicket组件的标签参数。
所以,你有几个选择:
使用AttributeModifier
静态方法,例如#append("class", "appendedClass")
或#replace("name", "#")
(,其中第一个参数是标记的属性,其次是&#39; s值)设置您想要标记的任何值,但请注意,您无法通过此方法获取标记的当前值。另外,注意不要在&#34;渲染&#34;中添加此修饰符。方法(例如#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
}
}