JSF index.xhtml et de les rediriger vers les visages d'action
Je pense que c'est une bonne pratique d'avoir une page d'index (dans mon cas index.xhtml).
Je veux passer un peu d'action sur la page d'index (par exemple dans les jambes de force:<c:redirect url="list.do" />
et je vais à jambes de suspension de l'action de classe, sans liens et les boutons), je sais que si je veux utiliser la navigation que je devrais utiliser commandLink-s ou des boutons). Je peux écrire <h:commandButton>
avec onclick fonction javascript, mais je n'ai pas l'impression que c'est la meilleure option.
Je suis totalement nouveau pour la JSF (à l'aide de JSF 2.0) et j'ai besoin de vos conseils. Quelles sont les meilleures pratiques pour la redirection de page d'index à une action dans le contrôleur?
///nouvelle version
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<f:view>
<ui:insert name="metadata"/>
<f:viewParam name="action" value="listItems.xtml"/>
<f:event type="preRenderView" listener="#{yourBean.methodInManagedBean}" />
<h:body></h:body>
</f:view>
</html>
public class ForwardBean {
private String action;
//getter, setter
public void navigate(PhaseEvent event) {
FacesContext facesContext = FacesContext.getCurrentInstance();
String outcome = action;
facesContext.getApplication().getNavigationHandler().handleNavigation(facesContext, null, outcome);
}
}
pourquoi le besoin d'u <f:viewParam> pour cela?
juste enlever "à la liste.faire" partie dans ma solution et ajouter votre url "listItems.xtml" et d'utiliser la méthode que j'ai donné, ce qui est public void methodInManagedBean() qui est pointé du <f:event type="preRenderView" listener="#{yourBean.methodInManagedBean}" />
OriginalL'auteur Ray | 2012-10-10
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser JSF
preRenderView
événement pour rediriger vers une autre page dans la manière suivante,Dans votre index.fichier xhtml
Dans managed bean,
1ère méthode est
ou vous pouvez utiliser 2ème
OriginalL'auteur Swarne27