gpt4 book ai didi

java - 获取组件标签的属性值

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:11:56 24 4
gpt4 key购买 nike

在 wicket 中我需要获取组件标记标签的值,例如:

<a href="#" name="#">...</a>

在这里,我需要 name 的值Wicket java 类中的属性,例如:

String name = /*{link's tag name}*/;

我需要分配 name的值为 name标签的属性 <a> .

最佳答案

正如我从您的问题中了解到的,您需要以动态方式获取/设置 wicket 组件的标记参数。

因此,您有多种选择来执行此操作:

  1. 使用 AttributeModifier 静态方法,例如 #append("class", "appendedClass")#replace("name", "#")(第一个参数是标签的属性,第二个参数是它的值)来设置你想要标签的任何值,但请注意你不能用这个获取标签的当前值方法。另外,注意不要在“渲染”方法(例如#onConfigure())中添加此修饰符,不要在浏览器中的每个页面或组件的刷新中创建重复的修饰符。

    <
  2. 像这样覆盖 #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
}
}
  1. 使用与上述相同的方法,但通过 BehavioronComponentTag 方法不要覆盖组件的方法。

阅读this了解更多信息,但请注意,这是一篇相当陈旧的文章,对于较新的 Wicket 版本,某些内容可能会有所不同。 (例如,已经不需要使用 AttributeAppender,因为它已移至 AttributeModifier 类方法)。

此外,您还可以看到 thisthis例子。 google 里有很多。

关于java - 获取组件标签的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26672703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com