6
votes

Java (jsp / servlet): équivalent de getServletContext () de l'intérieur d'un .jsp

Comment dois-je accéder au servletContext d'un fichier .jsp? Par exemple, comment puis-je appeler la méthode getrealpath em> de l'intérieur d'un fichier .jsp.

Voici un servlet, qui fonctionne bien: P>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <body>
     ...  // What should I insert here   
  </body>
</html>


5 Réponses :


11
votes

Essayez ceci:

${pageContext.servletContext}


2 commentaires

De la question: "Par exemple, comment puis-je appeler la méthode getrealPath () de l'intérieur d'un fichier .jsp" ?


@Webinator: Cette méthode nécessite un paramètre de chaîne afin que vous ne puissiez pas l'appeler via $ {} notation. Il existe au moins 3 approches différentes: 1) Vous pouvez appeler cette méthode à l'intérieur d'un haricot (le meilleur pour l'affaire IMHO) 2) Vous pouvez créer une balise personnalisée et l'appeler de là 3) Vous pouvez écrire un script ( <% // Quelqu'un code ici%> ) - Le pire IMHO.



3
votes

Je pense que cela devrait fonctionner correctement sur une page JSP:

<body>
<%
out.print(getServletContext().getAttribute("attribute"));
%>
</body>


0 commentaires

13
votes

Le servleSContext est accessible via l'application objet implicite.

Étant donné que chaque JSP est un servlet, vous pouvez également utiliser getServletContext () .

Mais .. Évitez d'avoir un code comme celui-là dans le JSP. Au lieu de cela, obtenez la valeur dont vous avez besoin dans votre servlet et définissez-la en tant qu'attribut de demande, le lire simplement dans le JSP (via JSTL de préférence)


0 commentaires

2
votes

Si vous souhaitez utiliser la méthode GetRealPath (), vous pouvez envisager de rechercher une balise JSTL appelée «C: URL»

<c:url value="text/en" />


0 commentaires

2
votes

utiliser simplement application.getrealpath (""); .


0 commentaires