Je cette balise html:wicket - Modifier le modèle html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/" xml:lang="cs" lang="cs">
<wicket:panel>
<div id="nav">
<ul>
<li>
<a href="./page2.html" class="here">page 1</a>
</li>
<li>
<a href="./page3.html" class="">page 2</a>
</li>
<li>
<a href="./kontakt.html" class="">page 3</a>
</li>
</ul>
</div>
</wicket:panel>
</html>
et voici mon code guichet très simple pour le panneau:
public class PanelMenu extends Panel{
private static final long serialVersionUID = 1L;
public PanelMenu(String id){
super(id);
}
}
@Override
protected void onBeforeRender(){
String markup = this.getAssociatedMarkup().toString();
markup = markup.replaceAll("a", "b");
//how to write modyfied markup for panel to response?
this.getResponse().write(markup);//this write to start of the page, not panel
super.onBeforeRender();
}
Sur ma page je fais:
this.add((new PanelMenu("panelMenu")).setRenderBodyOnly(true));
J'ai besoin de savoir comment écrire le balisage html modyfied pour le panneau dans la variable markup
retour dans la réponse. Comment puis-je le faire? this.getResponse().write(markup)
écrire au début de la page.
Vous demandez une chose étrange. Essayez d'expliquer toute la tâche - il existe peu d'approches communes et simples pour implémenter des menus. –
http://stackoverflow.com/a/10915579/1033307 –
Pourquoi voudriez-vous modifier le balisage directement? Ce n'est pas vraiment le moyen de. Dans la plupart des cas, cela peut être résolu en utilisant correctement les composants ou les fragments de balisage. Qu'est-ce que vous essayez d'accomplir? – Buurman