Salut à tous,

voila pour mon application multicouches, j'essaye de lister (via ma vue) des record d'une table de ma DB. J'utilise des annotations JPA dans mes différentes classe.

Ma classe DAOImpl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
	@PersistenceContext
	private EntityManager em;
 
	@Transactional
	public void create(Role role) {
		Role myRole = em.merge(role);
		em.flush();
 
		role.setRole(myRole.getRole());
 
	}
 
	@Transactional(readOnly=true)
	public List<Role> listRole() {
		@SuppressWarnings("unchecked")
		List<Role>mesRoles = em.createQuery("SELECT r FROM t_role r").getResultList();
		return mesRoles;
	}
...
Ma classe de service
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@Service
public class RoleServiceImpl implements RoleService {
 
	private final Log logger = LogFactory.getLog(getClass());
	@Autowired
	private IRoleDAO roleDao;
 
 
	public void addRole(Role role) {
		roleDao.create(role);
 
 
	}
 
 
	public List<Role> listRole() {
 
		List<Role> roles=null;
		try
		{
			roles = roleDao.listRole();
		}
		catch(Exception e)
		{
			logger.error("Problem avec la liste"+e.getMessage());
		}
 
 
		return roles;
	}
Et mon Controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
@Controller
public class RoleController {
	private final Log logger = LogFactory.getLog(getClass());
 
	private RoleService roleService;
 
	@RequestMapping(value="/lstroles.html")
	public ModelAndView displayRoles(HttpServletRequest req , HttpServletResponse rep)
	{
		logger.info("displayRoles()");
		ModelAndView mav = new  ModelAndView();
		mav.setViewName("layout");
		req.setAttribute("pageTitle", "Vos roles");
		req.setAttribute("maingPage", "/roles/lstroles.jsp");
 
		mav.addObject("roles", roleService.listRole());
		return mav;
 
	}
 
}
Quand je veux afficher ma page, j'ai comme message :
12-nov.-2011 18:21:41 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [spring] in context with path [/projetecole_login0511] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at be.helb.app.controller.RoleController.displayRoles(RoleController.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)

Tout est bon non ? Comment savoir si mon DAO et mon Service contiennent bien ma liste ?
Merci d'avance