我有一个ListView
. 这是populateItem
-方法:
@Override
protected void populateItem(ListItem<Test> test) {
// TODO Auto-generated method stub
Test t = test.getModelObject();
IndicatingAjaxFallbackLink link = new IndicatingAjaxFallbackLink("categoryMenuItemLink", t)
test.add(link)
}
这会产生HTML
这样的:
<a>Test 1</a>
<a>Test 2</a>
对于我的应用程序,我需要跟踪哪些links
是活动的。所以我的第一个想法是实现我自己的IndicatingAjaxFallbackLink
,像这样:
public class MyLink extends IndicatingAjaxFallbackLink<String> {
private boolean isActive;
public CategoryAjaxLink(String id) {
super(id);
this.setOutputMarkupPlaceholderTag(true);
}
@Override
public void onClick(AjaxRequestTarget target) {
this.isActive = true;
// Load images into different panel...
}
但是现在的问题是,如果我同时单击两者,links
那么两者都将设置为活动状态。另一种方法是使用,AttributeModifier
但它再次失败,因为我只能声明链接是由 CSS 激活的。我想完成什么?论文links
将更新另一个加载大量图像的面板。第一个link
始终处于活动状态,因此默认情况下将加载图像。通过单击第二个链接,第二link
个链接将变为活动状态并开始加载不同的图像。
link
但是,当创建链接时,如何保持其状态处于活动状态populateItem
?