Java 如何使用jstl打印上下文参数?

Java 如何使用jstl打印上下文参数?,java,tomcat,web.xml,Java,Tomcat,Web.xml,在web.xml中,我有 <context-param> <param-name>email</param-name> <param-value>test</param-value> </context-param> 电子邮件 测试 在jsp中,我有 <c:out value= "MUST PRINT EMAIL"> </c:out>

web.xml
中,我有

   <context-param>
      <param-name>email</param-name>
      <param-value>test</param-value>
     </context-param>

电子邮件
测试
在jsp中,我有

 <c:out value= "MUST PRINT EMAIL">  
    </c:out> 
    <c:out value= "${applicationScope.email}">  
    </c:out>  


但这只打印
必须打印电子邮件
。未打印电子邮件“测试”值。为什么?如何获取上下文参数

我认为您不能直接执行此操作,您可以通过此代码转储应用程序范围中的所有属性

${pageScope}<br> ${requestScope}<br> ${sessionScope} <br> ${applicationScope}
不要忘记在
web.xml中配置它

  <context-param>
      <param-name>email</param-name>
      <param-value>test123</param-value>
  </context-param>

  <listener>
        <listener-class>MyContextListener</listener-class>
  </listener>

电子邮件
测试123
MyContextListener
希望这有帮助

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class MyContextListener implements ServletContextListener {
    private static final Log logger = LogFactory.getLog(MyContextListener.class);


    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        String email= servletContextEvent.getServletContext().getInitParameter("email");
        logger.info("Use email:" + email);
        servletContextEvent.getServletContext().setAttribute("email", email+"==setbylistener");
    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {

    }
}
  <context-param>
      <param-name>email</param-name>
      <param-value>test123</param-value>
  </context-param>

  <listener>
        <listener-class>MyContextListener</listener-class>
  </listener>