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
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 @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; } ...
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
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; }
Quand je veux afficher ma page, j'ai comme message :
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; } }
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
Partager