尝试在init(ServletConfig)方法中将init参数名称添加到列表中。
public void init(ServletConfig sc){
try {
super.init(sc);
Enumeration<String> e= sc.getInitParameterNames();
while(e.hasMoreElements()){
list.add(e.nextElement());
}
} catch (ServletException e1) {
e1.printStackTrace();
}
}
当我使用此列表时,我收到 NullPointerException ,因为 e.hasMoreElement()返回false 。 我很确定我已经在web.xml文件中正确添加了init参数。 出了什么问题?请指教。
答案 0 :(得分:4)
我认为你没有intialized
list
个对象。 list
对象为空。
更改代码清单:
public void init(ServletConfig sc){
try {
super.init(sc);
list = new ArrrayList<String>();
Enumeration<String> e= sc.getInitParameterNames();
while(e.hasMoreElements()){
list.add(e.nextElement());
}
} catch (ServletException e1) {
e1.printStackTrace();
}
}