Wicket:获取标签属性

Wicket: Getting Tags Attribute

我正在为某个项目结合 wicket 和 jQuery。

我在HTML:

<a wicket:id="link" testAttr="test"></a>   

并使用 jQuery 我在单击页面上的其他组件时修改此属性。我这里的问题是如何从Java获取属性"testAttr"的当前值?我在每次 ajax 调用时获取值,并查看已更改的检查元素,所以没问题。

我已经尝试使用 getMarkupAttributes() 但我总是得到值 "test" 而不是我在带有 inspect 元素的页面上看到的当前值。还尝试使用 AttributeModifier 和 Appender,onComponentTag,但没有成功。

有人知道在这里做什么吗?

您必须将当前属性值作为 'dynamic extra parameter':

发送到服务器
link.add(new AjaxEventBehavior("click") {
  updateAjaxAttributes(ARA ara) {
    super.updateAttributes(ara);

    ara.getDynamicExtraParameters()
            .add("return {'q' : jQuery('#' + attrs.c).attr('testAttr') };");
  }

  onEvent(ART art) {
    RequestCycle requestCycle = RequestCycle.get();
    String val = requestCycle.getRequest()
        .getRequestParameters()
        .getParameterValue("q")
        .toString();

    // ...
  }
});