利用servlet中的值在普通类中使用它

时间:2013-09-14 14:26:32

标签: java servlets get set

我的情景:    我有一个servlet和两个普通的类。 X servlet y Class Z Class。

X Servlet code :

    Y y=new Y();
    y.setMap(Map);//Value exists for Map[Found out by sysout]

 Y Class : 
    public void setMap(HashMap<String,String> hash){
    this.hash=hash;
    System.out.println("Set:::"+this.hash.toString());
}

     public HashMap<String, Boolean> getMap(){
          System.out.println("Bean Class:::"+hash.toString());
          return hash;
    }

Z Class: 

Y bean=new Y();
HashMap result=bean.getMap();
System.out.println(result);

结果为null。 任何人都可以解释为什么它会导致null。

1 个答案:

答案 0 :(得分:1)

你可以像这样使Y.setMap静态。

class Y {
    private static HashMap<String, Object> map;

    public static void setMap(HashMap<String, Object> hash) {
        map = hash;
    }

    public static HashMap<String, Object> getMap() {
        return map;
    }
}

您的servlet可以设置地图,例如

 Y.setMap(map);

其他课程可以使用

到达
HashMap<String, Object> result = Y.getMap();