In einer JSF Backing Bean (Managed Bean, Weld Bean, spielt keine Rolle), kann ich den Kontextpfad erhalten der Client ist durchHolen Sie sich aktuelle Seite programmatisch
AufrufFacesContext ctx = FacesContext.getCurrentInstance();
String path = ctx.getExternalContext().getRequestContextPath();
Das gibt mir den Weg der Client greift derzeit auf, wie /myapplication
. Ist es auch möglich, die aktuelle Seite, wie /home.faces
, und wie?
Dies funktioniert nicht zuverlässig. Mit PrettyFaces zum Beispiel gibt dies nicht die URL, die zum Erstellen der aktuellen Seite aufgerufen wurde. – DoubleMalt
@DoubleMalt: OP hat nicht angegeben, dass er PrettyFaces verwendet. – BalusC
Obwohl es wahr ist, hat er auch nicht explizit gesagt, dass er das nicht getan hat. Mein Punkt war einfach, dass Bibliotheken, die JSF erweitern, Ihre Lösung zerstören könnten (und PrettyFaces ist eine ziemlich übliche Verbesserung, da die Navigation der Standardimplementierung ziemlich unbeholfen ist). Ich wollte nur Menschen, die herausfinden, dass Ihre saubere Lösung nicht funktioniert für sie ein Hinweis warum. – DoubleMalt