2017-02-04 44 views
0

在web.xml中我有兩個初始參數名稱爲Premier和Regular。向你展示這是它的代碼。如何在一個servlet中獲取<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> 

我已創建了兩個常量(命名爲總理,規則的),我想找回INTIAL參數名「常規」和「行政院長」的配置。

這是我的代碼。我不確定我是否正在做這個部分是否正確

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

在這裏我打印兩個控制檯確保我檢索正確。但我得到一個空兩個

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

有人可以請幫助我,她是我做錯了什麼。

回答

1

如果你正在做的這一切都在一個JSF請求(我,如果你不明白的),你可以用

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

得到初始化參數(注意:不是在servlet-標籤內)

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

這只是因爲我不知道它是否解決了什麼和/或有其他問題發表評論。

+0

Jaqen,OP正在使用普通的香草小服務程序,而不是JSF的支持bean。 'FacesContext'在自定義的servlet中根本不可用。 – BalusC

+0

好的,謝謝@BalusC –

相關問題