le passage de JSPF à JSP a amélioré certaines choses, mais des problèmes subsistent...
par exemple,
dans mon contrôleur, en cas de requête utilisateur bizarre, j'ai :
session.setAttribute("error", "undef_action"); response.sendRedirect("PublicFrontController?action=error");
le requête est ensuite redirigée (RequestDispatcher) vers ma JSP principale, public.jsp
public.jsp inclut une sous-JSP qui ne contient que le code suivant (sous-JSP enregistrée dans WEB-INF)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <p class="error">
<c:choose>
<c:when test="${error=='already_connected'}">
<c:out value="Action rejected.
Invoked reason : you are already connected !" />
</c:when>
<c:when test="${error=='restricted'}">
<c:out value="You can't access this page : restricted area.
Please login before." />
</c:when>
<c:when test="${error=='undef_action'}">
<c:out value="The requested action is undefined." />
</c:when>
<c:when test="${error=='not_allowed'}">
<c:out value="You mustn't access this page by this way." />
</c:when>
<c:when test="${error=='forbidden'}">
<c:out value="You can't bid on this item, it's not available." />
</c:when>
<c:otherwise>
<c:out value="Unexpected application error." />
</c:otherwise>
</c:choose>
</p> |
Or, quand on atterit sur la page d'erreur, TOUS les messages d'erreurs sont affichés...
pourtant le code généré (Firefox -> Ctrl+U) montre la chose suivante :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <c:choose>
<c:when test="false">
Action rejected.
Invoked reason : you are already connected !
</c:when>
<c:when test="false">
You can't access this page : restricted area.
Please login before.
</c:when>
<c:when test="true">
The requested action is undefined.
</c:when>
<c:when test="false">
You mustn't access this page by this way.
</c:when>
<c:when test="false">
You can't bid on this item, it's not available.
</c:when>
<c:otherwise>
Unexpected application error.
</c:otherwise>
</c:choose> |
Les tests sont BIEN évalués, mais les balises ne sont pas interprétées...
si quelqu'un a une explication...
merci d'avance,
Rolf
Partager