J'ai un problème basique en JSP (je suis sous Jonas 4.3.5)
Je veux inclure un pied de page commun dans toutes mes pages JSP, j'utilise
donc une balise <jsp:include>
Exemple:
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
test
<jsp:include page="testFooter.jsp" />
</body>
Il se trouve que mon pied de page doit comporter un lien pointant vers le
haut de page.
Si je mets dans ma page testFooter.jsp quelque chose comme ça:
<a href="#">
Haut de page
</a>
alors ça marche pour la plupart des pages, le problème est que certaines
pages utilisent des paramètres passés dans l'URL, que je perds quand je
clique sur mon lien "Haut de page".
Du coup je me dis que je vais faire un truc du genre:
<%
String currentPagePath = (String) request.getRequestURL();
if (request.getQueryString() != null)
currentPagePath += "?" + request.getQueryString();
%>
<a href="<%=currentPagePath%>">
Haut de page
</a>
Et là ça ne marche pas, j'ai une exception ThreadDeath dont je ne comprends
pas la cause (cf plus bas)
Donc j'ai 2 questions:
1/ Pourquoi cette erreur ?
2/ Comment feriez-vous dans mon cas pour avoir dans le pied de page JSP, un
lien qui pointe toujours vers le haut de la page courante ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JSC
fred wrote:
Bonjour,
J'ai un problème basique en JSP (je suis sous Jonas 4.3.5)
Je veux inclure un pied de page commun dans toutes mes pages JSP, j'utilise donc une balise <jsp:include> Exemple: <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head>
<body> test <jsp:include page="testFooter.jsp" /> </body>
A tout hazard, la partie: String currentPagePath = (String) request.getRequestURL(); est-elle correct? request.getRequestURL() est suppose retourner un StringBuffer, pas un String. Pour etre plus "propre" j'aurais mis: *<code>* <% StringBuffer currentPagePathBuffer = request.getRequestURL(); if (request.getQueryString() != null) { currentPagePathBuffer.append("?").append(request.getQueryString()); } String currentPagePath = currentPagePathBuffer.toString(); %> <a href="<%=currentPagePath%>"> Haut de page </a> *</code>*
-- JSC
fred wrote:
Bonjour,
J'ai un problème basique en JSP (je suis sous Jonas 4.3.5)
Je veux inclure un pied de page commun dans toutes mes pages JSP, j'utilise
donc une balise <jsp:include>
Exemple:
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
test
<jsp:include page="testFooter.jsp" />
</body>
A tout hazard, la partie:
String currentPagePath = (String) request.getRequestURL();
est-elle correct?
request.getRequestURL() est suppose retourner un StringBuffer, pas un
String.
Pour etre plus "propre" j'aurais mis:
*<code>*
<%
StringBuffer currentPagePathBuffer = request.getRequestURL();
if (request.getQueryString() != null) {
currentPagePathBuffer.append("?").append(request.getQueryString());
}
String currentPagePath = currentPagePathBuffer.toString();
%>
<a href="<%=currentPagePath%>">
Haut de page
</a>
*</code>*
J'ai un problème basique en JSP (je suis sous Jonas 4.3.5)
Je veux inclure un pied de page commun dans toutes mes pages JSP, j'utilise donc une balise <jsp:include> Exemple: <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head>
<body> test <jsp:include page="testFooter.jsp" /> </body>
A tout hazard, la partie: String currentPagePath = (String) request.getRequestURL(); est-elle correct? request.getRequestURL() est suppose retourner un StringBuffer, pas un String. Pour etre plus "propre" j'aurais mis: *<code>* <% StringBuffer currentPagePathBuffer = request.getRequestURL(); if (request.getQueryString() != null) { currentPagePathBuffer.append("?").append(request.getQueryString()); } String currentPagePath = currentPagePathBuffer.toString(); %> <a href="<%=currentPagePath%>"> Haut de page </a> *</code>*
-- JSC
fred
"JSC" a écrit dans le message de news: 451217a1$0$5978$
A tout hazard, la partie: String currentPagePath = (String) request.getRequestURL(); est-elle correct?
Bonjour,
merci pour la réponse, c'était effectivement la source du problème. D'autre part l'erreur de compilation est bien plus évidente depuis que j'ai désactivé log4j. Par contre mon lien "Haut de page" ne marche pas beaucoup mieux. Je récupère bien le contenu de l'URL, mais je rencontre les problèmes suivants: - si dans ma page j'ai un bouton qui appelle une servlet 'toto' mon lien devient http://serveur:port/webapp/servlet/toto et quand je clique dessus ça ne donne rien... - si ma page contient un formulaire. Si je le remplis et que je clique sur mon lien haut de page, tous les champs sont remis à blanc... Conclusion: c'est sûrement pas comme ça qu'il faut faire mais je n'ai pas d'autres idées... Si quelqu'un a une suggestion intéressante... mais là ça devient peut-être plutôt de l'html (ou du javascript) et vous allez me dire de changer de forum...
Fred.
"JSC" <pim@pam.poum> a écrit dans le message de news:
451217a1$0$5978$636a55ce@news.free.fr...
A tout hazard, la partie:
String currentPagePath = (String) request.getRequestURL();
est-elle correct?
Bonjour,
merci pour la réponse, c'était effectivement la source du problème.
D'autre part l'erreur de compilation est bien plus évidente depuis que j'ai
désactivé log4j.
Par contre mon lien "Haut de page" ne marche pas beaucoup mieux. Je récupère
bien le contenu de l'URL, mais je rencontre les problèmes suivants:
- si dans ma page j'ai un bouton qui appelle une servlet 'toto' mon lien
devient http://serveur:port/webapp/servlet/toto et quand je clique dessus ça
ne donne rien...
- si ma page contient un formulaire. Si je le remplis et que je clique sur
mon lien haut de page, tous les champs sont remis à blanc...
Conclusion: c'est sûrement pas comme ça qu'il faut faire mais je n'ai pas
d'autres idées...
Si quelqu'un a une suggestion intéressante... mais là ça devient peut-être
plutôt de l'html (ou du javascript) et vous allez me dire de changer de
forum...
"JSC" a écrit dans le message de news: 451217a1$0$5978$
A tout hazard, la partie: String currentPagePath = (String) request.getRequestURL(); est-elle correct?
Bonjour,
merci pour la réponse, c'était effectivement la source du problème. D'autre part l'erreur de compilation est bien plus évidente depuis que j'ai désactivé log4j. Par contre mon lien "Haut de page" ne marche pas beaucoup mieux. Je récupère bien le contenu de l'URL, mais je rencontre les problèmes suivants: - si dans ma page j'ai un bouton qui appelle une servlet 'toto' mon lien devient http://serveur:port/webapp/servlet/toto et quand je clique dessus ça ne donne rien... - si ma page contient un formulaire. Si je le remplis et que je clique sur mon lien haut de page, tous les champs sont remis à blanc... Conclusion: c'est sûrement pas comme ça qu'il faut faire mais je n'ai pas d'autres idées... Si quelqu'un a une suggestion intéressante... mais là ça devient peut-être plutôt de l'html (ou du javascript) et vous allez me dire de changer de forum...