Domanda

Ho la mia applicazione Java EE ho amministrazione articoli. C'è url come http://localhost:8080/articles/detail.xhtml?article=70 cui all'articolo significa id articolo. In questo articolo viene visualizzata pagina dei commenti, ecc non è importante. Ma c'è pulsante Modifica e vorrei reindirizzare a pagina edit.xhtml ma l'utente dovrebbe ancora vedere http://localhost:8080/articles/detail.xhtml?article=70 perché non voglio che la pagina di modifica per essere bookmarkable.

Mi potete aiutare come impostare faces-config per cambiare pagina, ma non url? Ho pensato che se faccio <redirect /> non scrivo quindi url sarebbe rimasto lo stesso, ma mi sbagliavo. URL cambia da detail.xhtml?article=70 a detail.xhtml

Grazie per qualsiasi consiglio.

È stato utile?

Soluzione

suggerirei di portare in alcuni poteri ajaxical in modo che nessuna richiesta sincrona viene licenziato.

<h:panelGroup id="article" layout="block">
    <h:panelGroup rendered="#{!bean.editmode}">
        View article (can if necessary be an ui:include)
        <h:form>
            <h:commandButton value="Edit" action="#{bean.edit}">
                <f:ajax render=":article" />
            </h:commandButton>
        </h:form>
    </h:panelGroup>
    <h:panelGroup rendered="#{bean.editmode}">
        Edit article (can if necessary be an ui:include)
        <h:form>
            <h:commandButton value="Save" action="#{bean.save}">
                 <f:ajax render=":article" />
            </h:commandButton>
        </h:form>
    </h:panelGroup>
</h:panelGroup>

Bean:

private boolean editmode;

public void edit() {
    this.editmode = true;
}

public void save() {
    this.editmode = false;
}

public boolean isEditmode() {
    return editmode;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top