Réponse de l'objet dans JSF
Je sens que cela va être une question à laquelle la réponse la plus courte est : "c'est pourquoi JSF remplacé JSP", mais je vais juste aller de l'avant et demander.
Question : je me demande : pourrais-je obtenir l'objet de Réponse d'une page JSF (si il y a) ?
Pourquoi s'inquiéter ? : Je me suis retrouvé dans une situation où j'ai besoin de passer d'une page JSF à une JSP, alors j'ai pensé pourquoi ne pas rediriger (avec response.sendRedirect
) à partir d'un bean qui est appelé à partir de la page JSF et puis... vous pouvez voir où il va.
Je me sens comme cela peut être fait d'une manière plus propre, ne peut pas voir comment si !
EDIT : bien sur elle, je vais aussi demander à propos de ce qui serait le mieux pour la redirection de pages JSF.
Merci d'avance pour vos suggestions.
<h:outputLink>
comme indiqué ici.En fait je voulais parler de la question d'ordre général, donc rien à propos de la redirection dans JSF va me faire du bien 🙂 Donc outputLink remplace le
<a>
tag, maintenant, quelle est la redirection à partir de l'intérieur d'un haricot ?Vous pouvez obtenir la réponse de l'objet dans le bean géré par l'appel de
HttpServletResponse response = (HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse()
(obtenu à partir de Comment diffuser un fichier à télécharger dans un JSF backing bean?) et ensuite effectuer des opérations sur les HttpServletResponse
objet. Évidemment, il ya des choses que vous ne pouvez pas faire comme l'envoi d'une redirection à partir d'une requête ajax.Ok. C'est bizarre, même réponse à partir de deux gars pratiquement dans le même temps... Si vous pouvez poster comme une réponse afin que je puisse au moins être en mesure de upvote.
OriginalL'auteur Akheloes | 2013-05-27
Vous devez vous connecter pour publier un commentaire.
Bien, si vous voulez obtenir le
response
objet, vous pouvez l'avoir enJSF
comme ci-dessous!Mais vous n'avez pas vraiment besoin pour obtenir le
response
objet uniquement pour rediriger l'extérieur deJSF
. Cela peut être fait plus facilement avec les éléments suivants:Modifier:
Lorsque vous êtes en toute non-action méthode, vous pouvez utiliser l'un des ci-dessus! Mais lorsque vous êtes en toute action méthode, la bonne
JSF
façon de redirection est:La méthode doit retourner un contexte de relative de vue de l'ID et la cible doit être une page JSF.
page.xhtml?faces-redirect=true
fonctionne aussi bien, qui est la meilleure ?Yup! Bien sûr,
return "url.com/page.jsp?faces-redirect=true"
est le bon jsf façon de gérer la redirection, pour plus de détails, vous pouvez voir la réponse de this question.J'ai juste édité ma réponse, et vous pouvez le voir maintenant.
Bien, merci !
nope, il suffit de générer une requête GET sur la page JSP.
OriginalL'auteur Sazzadur Rahaman
Vous pouvez obtenir la réponse de l'objet dans le bean géré par l'appel de
Code adapté de Comment diffuser un fichier à télécharger dans un JSF backing bean?)
Une fois que vous avez la réponse de l'objet, vous pouvez effectuer des opérations sur elle comme changer les en-têtes. Évidemment, il ya des choses que vous ne pouvez pas faire comme l'envoi d'une redirection à partir d'une requête ajax.
c'est à vous.
Oh man... Merci pour votre aide quand même 🙁
OriginalL'auteur Luiggi Mendoza