【发布时间】:2013-02-19 08:02:13
【问题描述】:
我想访问在我的基类方法中声明的内部类中的变量。我的基类是一个 servlet,所以我不能将此变量声明为全局变量。
下面的代码会给你一个想法。我想访问在我的基类 servlet 方法中声明的内部类中的变量 sort
public class AccessPointsListServlet extends Servlet {
protected void execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
String sort = null;
sort = request.getParameter("Sort");
}
private class InnerClass {
public int evaulate(String first){
if (sort.equalsIgnoreCase("url")) {
// some code
}
}
}
}
请帮忙
【问题讨论】:
-
使用
getServletContext().setAttribute(),您将数据存储在应用程序范围中。通常这些属性意味着对整个 Web 应用程序(应用程序范围)和所有用户都可用,而且只要 Web 应用程序存在,它们就会存在。这是完全正常的做法,完全取决于您的具体需求。另请参阅此答案,其中包含与不同范围相关的更多信息和链接以及何时可以使用它们:stackoverflow.com/a/14718683/814702