2010-05-24 4 views
1

J'ai un code HTML dans la page jsp que je veux qu'il soit affiché seulement après que l'utilisateur soumette des données et soit redirigé vers cette page. Je dois donc définir un indicateur de succès en tant que paramètre dans le lien comme:afficher la notification dans la page jsp en fonction d'un drapeau?

http://site.com/page?success=true 

Ne pas envoyer la demande car il sera perdu depuis que je suis redirigez Je ne veux pas l'envoyer dans le lien sous un paramètre et je pense à une autre façon et des idées comment l'envoyer? Donc, le lien sera:

http://site.com/page 

et je peux afficher le code html?

Répondre

1

Il suffit de le définir comme une demande d'attribution.

if (/* form is succesfully submitted */) { 
    request.setAttribute("success", true); 
} 
request.getRequestDispatcher("page.jsp").forward(request, response); 

Utilisez JSTL tag c:if pour ne rendre le contenu basé sur l'expression EL.

<c:if test="${success}"> 
    Your notification here. 
</c:if> 

Si vous voulez survivre les réoriente, alors vous devez le définir comme la session attribtue à la place:

if (/* form is succesfully submitted */) { 
    request.getSession().setAttribute("success", true); 
} 
response.sendRedirect("page.jsp"); 

Utilisez c:remove retirer après la première affichage afin que les demandes ultérieures ne seront pas affectées :

<c:if test="${success}"> 
    <c:remove var="success" scope="session" /> 
    Your notification here. 
</c:if> 
+0

Avez-vous trouvé la réponse? – BalusC

Questions connexes