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

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);
 
}
qui s’exécute sans soucis
Nom : test.png
Affichages : 2552
Taille : 176,1 Ko
Quand je le fais dans un javabean là il y a problème

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>
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
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 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
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);
	}
 
 
}
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
81
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
@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);
	}
	 

}
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
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