В основном у меня есть класс бобов, скажем, Emp
class Emp{
private int id;
private String name;
public Emp(int id, String name){
this.id = id;
this.name = name;
}
// Setters and Getters
}
Есть еще один класс, который содержит ссылку на Emp
class MyClass{
protected Emp emp;
protected ModelAndView mav;
protected ModelAndView getView(int id, String name){
emp = new Emp(id,name);
mav = new ModelAndView("my-view"); // JSP Page
mav.addObject("emp",emp);
return mav;
}
}
Контроллер 1 возвращает представление и устанавливает значение переменной emp внутри MyClass
@Controller
class Controller1 extends MyClass{
@RequestMapping("/req1")
public ModelAndView view1(){
return getView(1,"John");
}
}
В идеале, поскольку установлено значение emp , в консоли должно отображаться «Джон». Однако, когда я звоню через мой второй контроллер, я получаю исключение NullPointerException
@Controller
class Controller2 extends MyClass{
@RequestMapping("/req2")
public ModelAndView view2(){
System.out.println(emp.getName()); // -> NullPointerException
return mav;
}
}
В чем может быть причина такой проблемы?