2017-02-04 8 views
0

web.xmlには、2つの初期パラメータ、PremierとRegularがあります。コードを表示するには、これがそれです。サーブレットの中で<servlet><init-param>を入手するには? getServletContext()。getInitParameter()がそれらを見つけられないようです。

<servlet> 
    <servlet-name>StockServelt</servlet-name> 
    <servlet-class>test.StockServelt</servlet-class> 
    <init-param> 
     <param-name>Premier</param-name> 
     <param-value>/Premier</param-value> 
    </init-param> 
    <init-param> 
     <param-name>Regular</param-name> 
     <param-value>/Regular</param-value> 
    </init-param> 
</servlet> 

私は(PREMIERと通常呼ばれる)2つの定数を作成していて、私は「正規」と「プレミア」の名前をパラメータintialコンフィギュレーションを取得します。

これは私のコードです。私はここでは、この部分を右またはない

final String PREMIER = getServletContext().getInitParameter("Premier"); 
final String REGULAR = getServletContext().getInitParameter("Regular"); 

をやっている私は、コンソールの両方を印刷することを確認していない私が正しく取得されていることを確認します。しかし、私は両方のためのnullを得ています

System.out.println("This is the value for Premier: " + PREMIER + " " 
      + "and this is the value for Regular: " + REGULAR); 

誰かが私が間違ってやっている彼女を助けてくれることができますか?

答えて

1

あなたは

<context-param> 
    <param-name>Premier</param-name> 
    <param-value>/Premier</param-value> 
</context-param> 

で初期化パラメータを取得することができます(あなたがしている場合、私は理解していないもの)JSFのリクエストでこのすべてを行っている場合(注:ないサーブレット・タグ内)

final String PREMIER = FacesContext.getCurrentInstance().getExternalContext().getInitParameter("Premier"); 

それは何も解決し、および/またはその他の問題がある場合、私は知らないので、これは単なるコメントです。

+0

Jaqen、OPはプレーンバニラサーブレットを使用していますが、JSFバッキングBeanは使用していません。 'FacesContext'はカスタムサーブレットではまったく利用できません。 – BalusC

+0

大変ありがとう@BalusC –

関連する問題