我使用 Wicket 6.7.0,在运行时出现以下异常:
最后一个原因:带有 Wicket 命名空间的未知标签名称:“面板”。可能是你没有安装合适的解析器?''(第 3 行,第 2 列)
我正在扩展 BookmarkablePageLink 并且我的组件有它自己的标记 html。它类似于来自 wicket-bootstrap 的代码: https ://github.com/l0rdn1kk0n/wicket-bootstrap/blob/master/bootstrap-core/src/main/java/de/agilecoders/wicket/core/markup/html /bootstrap/button/BootstrapBookmarkablePageLink.java
ExtBookMarkablePageLink.java
public class ExtBookMarkablePageLink<T> extends BookmarkablePageLink<T> {
private final Component label;
public <C extends Page> ExtBookMarkablePageLink(String id, Class<C> pageClass) {
this(id, pageClass, new PageParameters());
}
public <C extends Page> ExtBookMarkablePageLink(String id, Class<C> pageClass, final PageParameters parameters) {
super(id, pageClass, parameters);
add(label = newLabel("label"));
}
protected Component newLabel(final String markupId) {
return new Label(markupId, new Model<String>("")).setRenderBodyOnly(true);
}
@Override
protected IMarkupSourcingStrategy newMarkupSourcingStrategy() {
return new PanelMarkupSourcingStrategy(true);
}
public ExtBookMarkablePageLink<T> setLabel(IModel<?> label) {
this.label.setDefaultModel(label);
return this;
}
}
ExtBookMarkablePageLink.html
<!doctype html>
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<span wicket:id="label"></span>
</wicket:panel>
</html>