Bonjour,
Je commences d'abord par m'excuser de sembler revenir sur les mêmes choses mais c'est comme ça quand on ne maitrise pas bien quelque chose, une fois que la config change un peu on ne se retrouve pas.
mon souci
j'ai une classe test
qui s’exécute sans soucis
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
31
32
33
34
35
36
37
38
39
40
41
42 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations="classpath:laplace-servlet.xml") public class SpringAgentServiceTest { @Autowired private CutAgentService agentService; @Autowired private CutPosteService posteService; @Test public void testGetUserById() { CutAgent agent = agentService.getAgentById("323465X"); Assert.assertNotNull(agent); System.out.println(agent); } @Test public void testUpdateUser() { long timestamp = System.currentTimeMillis(); CutAgent agent = agentService.getAgentById("323465X"); agent.setAGT_NOM("Coulibaly"); agent.setAGT_PRENOM("Yaya"); agentService.updateAgent(agent); CutAgent updatedUser = agentService.getAgentById("323465X"); Assert.assertEquals(agent.getAGT_NOM(), updatedUser.getAGT_NOM()); Assert.assertEquals(agent.getAGT_PRENOM(), updatedUser.getAGT_PRENOM()); } @Test public void testlistPoste() { long timestamp = System.currentTimeMillis(); List<CutPoste> items = posteService.list(); for (CutPoste item : items) { System.out.println(item.toString()); } } //For Example: If we want to get count of how many records got updated by an Update query we can use SqlSession as follows: //int updatedRowCount = sqlSession.update("com.sivalabs.mybatisdemo.mappers.UserMapper.updateUser", agent); }
Quand je le fais dans un javabean là il y a problème
ou
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
31
32
33
34
35
36
37
38
39 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- <import resource="classpath:/META-INFSyGACUTDB/jdbc-context.xml"/> --> <mvc:default-servlet-handler/> <mvc:annotation-driven/> <!-- <context:component-scan base-package="org.laplace" /> --> <import resource="classpath:jdbc-context.xml" /> <!-- <context:component-scan base-package="org.laplace.service" /> <context:component-scan base-package="org.laplace.controller" /> <context:component-scan base-package="org.laplace.validator" /> --> <!-- Application Message Bundle --> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <!-- <property name="basename" value="/WEB-INF/resources/messages.properties" /> --> <property name="basename" value="/resources/messages.properties" /> <property name="cacheSeconds" value="3000" /> </bean> <!-- Resolves view names to protected .jsp resources within the /WEB-INF/views directory --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/pages/"/> <property name="suffix" value=".xhtml"/> </bean> </beans>
methode 1
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
31
32
33
34
35
36
37
38
39
40
41 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- <import resource="classpath:/META-INFSyGACUTDB/jdbc-context.xml"/> --> <mvc:default-servlet-handler/> <mvc:annotation-driven/> <!-- <context:component-scan base-package="org.laplace" /> --> <import resource="classpath:jdbc-context.xml" /> <!-- <context:component-scan base-package="org.laplace.service" /> <context:component-scan base-package="org.laplace.controller" /> <context:component-scan base-package="org.laplace.validator" /> --> <!-- Application Message Bundle --> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <!-- <property name="basename" value="/WEB-INF/resources/messages.properties" /> --> <property name="basename" value="/resources/messages.properties" /> <property name="cacheSeconds" value="3000" /> </bean> <!-- Resolves view names to protected .jsp resources within the /WEB-INF/views directory --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/pages/"/> <property name="suffix" value=".xhtml"/> </bean> <mvc:resources mapping="/resources/**" location="/resources/" cache-period="31556926"/> </beans>
methode 2
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 import java.io.Serializable; import java.util.List; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext; import org.apache.taglibs.standard.lang.jstl.ELException; import org.laplace.model.CutPoste; import org.laplace.service.CutPosteService; //import org.laplace.validator.PosteValidator; import org.primefaces.event.SelectEvent; import org.primefaces.event.UnselectEvent; import org.springframework.test.context.ContextConfiguration; @ManagedBean(name = "poste") @ViewScoped public class PosteBean implements Serializable{ private CutPosteService itemService = new CutPosteService(); private CutPoste selectedItem = new CutPoste(); private List<CutPoste> items; private Object bean; private String property; public CutPosteService getItemService() { return itemService; } public void setItemService(CutPosteService itemService) { this.itemService = itemService; } public CutPoste getSelectedItem() { return selectedItem; } public void setSelectedItem(CutPoste selectedItem) { this.selectedItem = selectedItem; } public void editAction(CutPoste item) { selectedItem = item; } public List<CutPoste> getItems() { items = itemService.list(); if (items == null ) { System.out.println("items null"); } else { for (CutPoste item : items) { System.out.println(item.toString()); } } return items; } public void setItems(List<CutPoste> items) { this.items = items; } public void onRowSelect(SelectEvent event) { // ajout System.out.println("Row selected Method");//FacesContext.getCurrentInstance().getExternalContext().redirect("page.xhtml?id=" +pat.getId()); FacesMessage msg = new FacesMessage("Item Selected", ((CutPoste) event.getObject()).getPC_CODE()); FacesContext.getCurrentInstance().addMessage(null, msg); } public void onRowUnselect(UnselectEvent event) { FacesMessage msg = new FacesMessage("Item Unselected", ((CutPoste) event.getObject()).getPC_CODE()); FacesContext.getCurrentInstance().addMessage(null, msg); } }
et dans les deux cas j'ai la même erreur
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81import java.io.Serializable; import java.util.List; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext; import org.apache.taglibs.standard.lang.jstl.ELException; import org.laplace.model.CutPoste; import org.laplace.service.CutPosteService; //import org.laplace.validator.PosteValidator; import org.primefaces.event.SelectEvent; import org.primefaces.event.UnselectEvent; import org.springframework.test.context.ContextConfiguration; @ManagedBean(name = "poste") @ViewScoped @ContextConfiguration(locations="classpath:laplace-servlet.xml") public class PosteBean implements Serializable{ private CutPosteService itemService = new CutPosteService(); private CutPoste selectedItem = new CutPoste(); private List<CutPoste> items; private Object bean; private String property; public CutPosteService getItemService() { return itemService; } public void setItemService(CutPosteService itemService) { this.itemService = itemService; } public CutPoste getSelectedItem() { return selectedItem; } public void setSelectedItem(CutPoste selectedItem) { this.selectedItem = selectedItem; } public void editAction(CutPoste item) { selectedItem = item; } public List<CutPoste> getItems() { items = itemService.list(); if (items == null ) { System.out.println("items null"); } else { for (CutPoste item : items) { System.out.println(item.toString()); } } return items; } public void setItems(List<CutPoste> items) { this.items = items; } public void onRowSelect(SelectEvent event) { // ajout System.out.println("Row selected Method");//FacesContext.getCurrentInstance().getExternalContext().redirect("page.xhtml?id=" +pat.getId()); FacesMessage msg = new FacesMessage("Item Selected", ((CutPoste) event.getObject()).getPC_CODE()); FacesContext.getCurrentInstance().addMessage(null, msg); } public void onRowUnselect(UnselectEvent event) { FacesMessage msg = new FacesMessage("Item Unselected", ((CutPoste) event.getObject()).getPC_CODE()); FacesContext.getCurrentInstance().addMessage(null, msg); } }
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 nov. 25, 2016 7:54:31 AM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException GRAVE: Error Rendering View[/pages/poste.xhtml] javax.el.ELException: /pages/poste.xhtml @25,66 value="#{poste.items}": Error reading 'items' on type org.laplace.controller.PosteBean at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) at javax.faces.component.UIData.getValue(UIData.java:732) at org.primefaces.component.api.UIData.getDataModel(UIData.java:764) at javax.faces.component.UIData.getRowCount(UIData.java:356) at org.primefaces.component.api.UIData.calculateFirst(UIData.java:215) at org.primefaces.component.datatable.DataTableRenderer.preRender(DataTableRenderer.java:117) at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:85) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903) at javax.faces.render.Renderer.encodeChildren(Renderer.java:176) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:451) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: javax.el.ELException: Error reading 'items'@25,66 value="#{poste.items}": Error reading 'items' on type org.laplace.controller.PosteBean nov. 25, 2016 7:54:31 AM com.sun.faces.context.ExceptionHandlerImpl log 1100: /pages/poste.xhtml @25,66 value="#{poste.items}": Error reading 'items' on type org.laplace.controller.PosteBean javax.el.ELException: /pages/poste.xhtml @25,66 value="#{poste.items}": Error reading 'items' on type org.laplace.controller.PosteBean at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) at javax.faces.component.UIData.getValue(UIData.java:732) at org.primefaces.component.api.UIData.getDataModel(UIData.java:764) at javax.faces.component.UIData.getRowCount(UIData.java:356) at org.primefaces.component.api.UIData.calculateFirst(UIData.java:215) at org.primefaces.component.datatable.DataTableRenderer.preRender(DataTableRenderer.java:117) at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:85) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903) at javax.faces.render.Renderer.encodeChildren(Renderer.java:176) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:451) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: javax.el.ELException: Error reading 'items' on type org.laplace.controller.PosteBean at javax.el.BeanELResolver.getValue(BeanELResolver.java:101) at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) at org.apache.el.parser.AstValue.getValue(AstValue.java:169) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184) at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) ... 42 more Caused by: java.lang.NullPointerException at org.laplace.service.CutPosteService.list(CutPosteService.java:51) at org.laplace.controller.PosteBean.getItems(PosteBean.java:53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at javax.el.BeanELResolver.getValue(BeanELResolver.java:97) ... 47 more











Répondre avec citation
Partager