如何在servlet中获取<servlet> <init-param>? getServletContext()。getInitParameter()似乎找不到它们

时间:2017-02-04 04:00:52

标签: servlets

在web.xml中,我有两个名为Premier和Regular的初始参数。为了向你展示这个代码。

<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 AND REGULAR),我想检索配置初始参数名称&#34;常规&#34;和&#34; Premier&#34;。

这是我的代码。我不确定我是否正确地做这部分

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 个答案:

答案 0 :(得分:1)

如果你在JSF请求中做了所有这些(我不明白你是否这样做),你可以用

获取init参数
<context-param>
    <param-name>Premier</param-name>
    <param-value>/Premier</param-value>
</context-param>

(注意:不在servlet-tag内)

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

这只是一个评论,因为我不知道它是否解决了任何问题和/或还有其他问题。