一尘不染

Java(JSP / Servlet):等效于.jsp内部的getServletContext()

jsp

我应该如何从.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();
    }

现在,我正在寻找要插入以下 .jsp中 的确切行,以执行与上述servlet完全相同的操作。

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

阅读 251

收藏
2020-06-08

共1个答案

一尘不染

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

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

但是..避免在JSP中使用类似的代码。取而代之的是,在Servlet中获取所需的值并将其设置为request属性,只需在JSP中读取即可(最好通过JSTL)

2020-06-08