Label l = new Label("foo", "<!-- " + foo + " -->");
l.setEscapeModelStrings(false);
Это не красиво, но быстро и легко.Я также считаю, что есть особая настройка калитки (где-то в приложении), которую вы можете включить, чтобы запретить удаление комментариев, но я, честно говоря, не могу вспомнить, где я ее увидел.
Редактировать: Добавлен комментарий работника
Edit2: Реализовано поведение Eelco для полноты.В любом случае, это лучше, чем мой подход.
public enum Comment {
;
/**
* creates a wicket comment (extends label
*/
public static Label newComment(String id, String comment) {
Label label = new Label(id, comment);
label.add(commentBehaviour());
return label;
}
/**
* Adds <!-- and --> around the component.
*/
public static AbstractBehavior commentBehaviour() {
return new AbstractBehavior() {
private static final long serialVersionUID = 1L;
@Override
public void beforeRender(Component component) {
component.getResponse().write("<!--");
}
@Override
public void onRendered(Component component) {
component.getResponse().write("--!>");
}
};
}
}
add(Comment.newComment("comment","Something worth commenting upon"));