Java(JSP/Servlet):相当于.jsp内的getServletContext()

Syn*_*r0r 6 java jsp servlets

我应该如何从.jsp访问ServletContext?例如,如何从.jsp内部调用getRealPath方法.

这是一个Servlet,工作正常:

protected void doGet(
            HttpServletRequest req,
            HttpServletResponse resp
    ) throws ServletException, IOException {
        resp.setContentType( "text/html; charset=UTF-8" );
        final PrintWriter pw = resp.getWriter();
        pw.print( "<html><body>" );
        pw.print( getServletContext().getRealPath( "text/en" ) );
        pw.print( "</body></html>" );
        pw.flush();
        pw.close();
    }
Run Code Online (Sandbox Code Playgroud)

现在我正在寻找我应该在下面的.jsp中插入的确切行,以完成与上面的servlet完全相同的操作.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <body>
     ...  // What should I insert here   
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Boz*_*zho 12

ServletContext是通过访问application隐含对象.

由于每个JSP都是一个servlet,您也可以使用getServletContext().

但是..避免在JSP中使用类似的代码.相反,在servlet中获取所需的值并将其设置为请求属性,只需在JSP中读取它(最好通过JSTL)


Rom*_*man 11

试试这个:

${pageContext.servletContext}
Run Code Online (Sandbox Code Playgroud)