2010-11-19 9 views
0

I mon application Java EE J'ai l'administration des articles. Il y a une URL comme http://localhost:8080/articles/detail.xhtml?article=70 où l'article signifie l'identifiant de l'article. Cette page affiche les commentaires de l'article, etc. ce n'est pas important. Mais il y a le bouton Modifier et je voudrais rediriger sur la page edit.xhtml mais l'utilisateur devrait toujours voir http://localhost:8080/articles/detail.xhtml?article=70 car je ne veux pas que la page d'édition soit signable.redirection JSF 2.0 avec les paramètres

Pouvez-vous m'aider à configurer faces-config pour changer de page mais pas d'URL? Je pensais que si je n'écris pas <redirect /> alors url resterait même mais je me suis trompé. L'URL passe de detail.xhtml?article=70 à detail.xhtml

Merci pour tout conseil.

Répondre

2

Je suggérerais d'apporter quelques puissances ajaxicales afin qu'aucune demande synchrone ne soit déclenchée.

<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; 
} 
+0

Si possible, jetez un oeil à http://stackoverflow.com/questions/4231206 –