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>