out.println("<br>" + getServletConfig().getInitParameter("ad"));
out.print("<br>" + getServletContext().getInitParameter("email"));
我有一个JSP页面。
当我运行我的应用程序时,它总是返回null,而不是电子邮件。
但是当我在我的servlet代码中使用它时运行正常。
以下是完整的代码:
<%
List styless = (List) request.getAttribute("styles");
int n = styless.size();
for (int i = 0; i < n; i++) {
out.print("<br>" + styless.get(i));
}
out.println("<br>" + getServletConfig().getInitParameter("ad"));
out.print("<br>" + getServletContext().getInitParameter("email"));
%>
在这段代码中,ServletConfig或ServletContext都没有返回null,但在servlet中工作正常
的web.xml
<servlet>
<servlet-name>Ch3 Beer</servlet-name>
<servlet-class>action.BeerSelect</servlet-class>
<init-param>
<param-name>ad</param-name>
<param-value>hawc91@gmail.com</param-value>
</init-param>
</servlet>
<context-param>
<param-name>email</param-name>
<param-value>rnsal28@yahoo.com</param-value>
</context-param>
答案 0 :(得分:0)
由于您的问题中描述了代码,email
参数应该使用代码getServletContext().getInitParameter("email")
在JSP和Servlet中显示(并且我测试了它)。
现在是ad
参数,它在JSP中显示null
(正确),因为此参数位于Servlet的本地。 ad
仅在Servlet代码中可用(并且应该是它),并且可以使用getServletConfig().getInitParameter("ad")
答案 1 :(得分:0)
当你声明这样的上下文参数时:
<context-param>
<param-name>email</param-name>
<param-value>rnsal28@yahoo.com</param-value>
</context-param>
然后你需要使用'application'对象访问它:
<%
String email=application.getInitParameter("email");
System.out.println(email);
%>