0
out.println("<br>" + getServletConfig().getInitParameter("ad"));
out.print("<br>" + getServletContext().getInitParameter("email"));

私はJSPページを持っています。

アプリを実行すると、メールではなく常に null が返されます。

しかし、サーブレット コードで使用すると、問題なく動作します。

完全なコードは次のとおりです。

<% 
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 を返しますが、同じことがサーブレットでうまく機能しています

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> 
4

2 に答える 2

0

あなたの質問でコードが説明されているように、emailパラメータはコードを使用してJSPとサーブレットの両方に表示されるはずです(実際にテストしました)getServletContext().getInitParameter("email")

このパラメータはサーブレットに対してローカルであるため、JSP に (正しく)ad表示されるようになりました。nulladサーブレット コード内でのみ使用可能であり (そうあるべきです)、次を使用してアクセスできます。getServletConfig().getInitParameter("ad")

于 2013-07-18T05:56:59.563 に答える
0

次のようなコンテキスト パラメータを宣言する場合:

<context-param> 
    <param-name>email</param-name> 
    <param-value>rnsal28@yahoo.com</param-value> 
</context-param> 

次に、「アプリケーション」オブジェクトを使用してアクセスする必要があります。

<% 
    String email=application.getInitParameter("email"); 
    System.out.println(email);
%>
于 2013-07-18T06:13:03.123 に答える