In un fagiolo JSF supporto (Managed Bean, Weld Bean, non importa), posso ottenere il percorso del contesto del cliente è il chiamandoOttenere pagina corrente a livello di codice
FacesContext ctx = FacesContext.getCurrentInstance();
String path = ctx.getExternalContext().getRequestContextPath();
Questo mi dà il percorso del il cliente accede attualmente, come /myapplication
. È anche possibile ottenere l'attuale pagina, come /home.faces
e come?
Questo non funziona in modo affidabile. Ad esempio, con PrettyFaces questo non fornisce l'URL chiamato per creare la pagina corrente. – DoubleMalt
@DoubleMalt: OP non ha indicato che sta usando PrettyFaces. – BalusC
Anche se è vero, non ha dichiarato esplicitamente di non averlo fatto. Il mio punto era semplicemente che le librerie che estendono JSF potrebbero rompere la soluzione (e PrettyFaces è un miglioramento piuttosto comune in quanto la gestione della navigazione standard è piuttosto goffa). Volevo solo dare alle persone che scoprono che la soluzione pulita non funziona per loro un indizio sul perché. – DoubleMalt