salut TLM
mon environnement :eclipse
j'ai commencé mon projet d'abord avec spring mais j'ai pas utilisé JSF (seulement des page jsp avec code html) et ca marche formidable
maintenant depuis une semainej'arrive pas a configuré spring avec l'utilisation de ICefaces avec le meme projet
j'ai téléchargé un exemple SPRINcrud maisj'ai pas arrivé a bien configuré
je utilise Spring /hibernate
mon dao
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 package dao; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import entites.Technicien; public class Dao implements IDao { @PersistenceContext private EntityManager em; //Technicien // supprimer une Technicien via son identifiant public void deleteOneTechnicien(String cin) { Technicien technicien = em.find(Technicien.class, cin); if (technicien == null) { throw new DaoException(String.format("Technicien n°[%d] inconnue", cin), 2); } em.remove(technicien); } @SuppressWarnings("unchecked") // obtenir toutes les Techniciens public List<Technicien> getAllTechnicien() { return em.createQuery("select t from Technicien t").getResultList(); } @SuppressWarnings("unchecked") // obtenir les propretaires dont le nom correspond àun modèle public List<Technicien> getAllLikeTechnicien(String modele) { return em.createQuery("select t from Technicien t where t.nom like :modele") .setParameter("modele", modele).getResultList(); } // obtenir un Technicien via son identifiant public Technicien getOneTechnicien(String cin) { return em.find(Technicien.class, cin); } // sauvegarder un Technicien public Technicien saveOneTechnicien(Technicien technicien) { em.persist(technicien); return technicien; } // mettre à jour un Technicien public Technicien updateOneTechnicien(Technicien technicien) { Technicien t = em.find(Technicien.class, technicien.getCin()); if (t == null) { throw new DaoException(String.format("Technicien n°[%d] inconnue", technicien.getCin()), 2); } return em.merge(technicien); }
ma couche 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
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 package service; import java.util.List; import org.springframework.transaction.annotation.Transactional; import dao.IDao; import entites.Administrateur; import entites.Camion; import entites.Chauffeur; import entites.ClientFidele; import entites.ClientPassager; import entites.Compte; import entites.Contrat; import entites.DemandeVoyage; import entites.Entreprise; import entites.Message; import entites.Individu; import entites.Reponse; import entites.Technicien; import entites.Voyage; //ttes les méthodes de la classe se déroulent dans une transaction @Transactional public class Service implements IService { // couche [dao] private IDao dao; public IDao getDao() { return dao; } public void setDao(IDao dao) { this.dao = dao; } // supprimer une Technicien via son identifiant public void deleteOneTechnicien(String cin) { dao.deleteOneTechnicien(cin); } // obtenir toutes les Techniciens public List<Technicien> getAllTechnicien(){ return dao.getAllTechnicien(); } // obtenir les propretaires dont le nom correspond àun modèle public List<Technicien> getAllLikeTechnicien(String modele) { return dao.getAllLikeTechnicien(modele); } // obtenir un Technicien via son identifiant public Technicien getOneTechnicien(String cin){ return dao.getOneTechnicien(cin); } // sauvegarder un Technicien public Technicien saveOneTechnicien(Technicien technicien){ return dao.saveOneTechnicien(technicien); } // mettre à jour un Technicien public Technicien updateOneTechnicien(Technicien technicien){ return dao.updateOneTechnicien(technicien); }
la couche web
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 package web; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.* ; import net.sf.cglib.proxy.*; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import service.IService; import dao.DaoException; import entites.*; import javax.faces.context.FacesContext; import javax.faces.event.ActionEvent; public class Tech { private List<Technicien> techniciens; // service private IService service = null; public Tech(){ } // init public void init() throws ServletException { // configuration de l'application ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml"); // couche service service = (IService) ctx.getBean("service"); } public String doListTechnicien(){ techniciens=service.getAllTechnicien(); System.out.println("ggggggggggggggggggg"); return "list"; } public List<Technicien> getTechniciens() { return techniciens; } public void setTechniciens(List<Technicien> techniciens) { this.techniciens = techniciens; } }
et j'ai un fichier spring-config pour configurer spring et hibernate c'est le même que l'ancien projet avant l'utilisation de ICefaces
sppring-config
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 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <!-- couches applicatives --> <bean id="dao" class="dao.Dao" /> <bean id="service" class="service.Service"> <property name="dao" ref="dao" /> </bean> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <!-- <property name="showSql" value="true" /> --> <property name="databasePlatform" value="org.hibernate.dialect.MySQL5InnoDBDialect" /> <property name="generateDdl" value="true" /> </bean> </property> <property name="loadTimeWeaver"> <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver" /> </property> </bean> <!-- la source de donnéees DBCP --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/jpa" /> <property name="username" value="jpa" /> <property name="password" value="jpa" /> </bean> <!-- le gestionnaire de transactions --> <tx:annotation-driven transaction-manager="txManager" /> <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <!-- traduction des exceptions --> <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" /> <!-- persistence --> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> </beans>
mon fichier web.xml
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 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>exemple</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <context-param> <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>server</param-value> </context-param> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>resources.application</param-value> </context-param> <listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener> <context-param> <param-name>javax.faces.DEFAULT_SUFFIX</param-name> <param-value>.jspx</param-value> </context-param> <context-param> <description>To allow multiple windows for a single application.</description> <param-name>com.icesoft.faces.concurrentDOMViews</param-name> <param-value>false</param-value> </context-param> <context-param> <description>Turn on/off application-wide synchronous or asynchronous updates. </description> <param-name>com.icesoft.faces.synchronousUpdate</param-name> <param-value>false</param-value> </context-param> <context-param> <description>Google Maps API key is required if gMap component is used. Sign up for an API key from http://code.google.com/apis/maps/signup.html</description> <param-name>com.icesoft.faces.gmapKey</param-name> <param-value>ABQIAAAADlu0ZiSTam64EKaCQr9eTRTOTuQNzJNXRlYRLknj4cQ89tFfpxTEqxQnVWL4k55OPICgF5_SOZE06A</param-value> </context-param> <context-param> <param-name>com.icesoft.faces.uploadDirectory</param-name> <param-value>upload</param-value> </context-param> <context-param> <param-name>com.icesoft.faces.uploadMaxFileSize</param-name> <param-value>4048576</param-value> </context-param> <servlet> <servlet-name>Persistent Faces Servlet</servlet-name> <servlet-class>com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Persistent Faces Servlet</servlet-name> <url-pattern>*.iface</url-pattern> <url-pattern>*.jspx</url-pattern> <url-pattern>/xmlhttp/*</url-pattern> <url-pattern>*.faces</url-pattern> <url-pattern>*.jsf</url-pattern> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>Blocking Servlet</servlet-name> <servlet-class>com.icesoft.faces.webapp.xmlhttp.BlockingServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Blocking Servlet</servlet-name> <url-pattern>/block/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>uploadServlet</servlet-name> <servlet-class>com.icesoft.faces.component.inputfile.FileUploadServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>uploadServlet</servlet-name> <url-pattern>/uploadHtml</url-pattern> </servlet-mapping> <listener> <listener-class>com.icesoft.faces.util.event.servlet.ContextEventRepeater</listener-class> </listener> <servlet> <servlet-name>SpringContextServlet</servlet-name> <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> </web-app>
mon fichier face-config
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 <?xml version="1.0" encoding="UTF-8"?> <!-- <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2"> <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> <faces-config xmlns="http://java.sun.com/JSF/Configuration">--> <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> <faces-config> <managed-bean> <managed-bean-name>tech</managed-bean-name> <managed-bean-class>web.Tech</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> <navigation-rule> <display-name>list</display-name> <from-view-id>/acui.jspx</from-view-id> <navigation-case> <from-outcome>list</from-outcome> <to-view-id>/cherche.jspx</to-view-id> <redirect /> </navigation-case> </navigation-rule> <application> <variable-resolver> org.springframework.web.jsf.DelegatingVariableResolver </variable-resolver> <locale-config /> </application> <lifecycle /> <factory /> </faces-config>
merci pour m'aidé
Partager