Bonjour a tous et merci d'avance pour essayer de comprendre mon problème.

pour commencer j'ai lu la documentation de Serge Tahe & springsource et de différent bouquins ou site web sur spring mvc et plus particulièrement sur multiactioncontroller et j'ai parcourru les forums.

Je n'arrive pas a appliquer l'exemple de la documentation a mon cas concernant les multiActionCrontroller avec un code java script dans la vue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
input type="button" value="Delete"
					onclick='submitAction("delete");'>
J'ai choisi l'exemple 1 Multiactioncrontoller dans le springMvc3 de Serge Tahe.

Voici ma vue j'obtiens un tableau qui liste les utilisateurs provenant d'une DB
sa fonctionne les utilisateurs sont bien affiché dans le tableau.
chaque ligne d'élement a un bouton un delete et un update.
et je souhaite dans un premier temps pouvoir réaliser des delete sur cette liste.
donc après la vue je vous met mon Controller qui étend MultiactionController
et ensuite la partie du Bean-config file de spring.
et mon fichier Pom pour les questions de Version...

ma webapp me permet bien d'encoder en database et de lire la database.
donc pas de problème de liaison db et autre vraiment au niveau de la config du MultiActionController.

Voici le code de la vue.
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
 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IList of user here</title>
<style type="text/css">
@import "../css/a8.css";
 
@import "../css/css.css";
</style>
 
<!-- start Javascript -->
 
<script language="javascript">
	function submitAction(uneAction) {
		with (document.frmNoms) {
			action.value = uneAction;
			submit();
		}
 
	}
</script>
 
</head>
 
<body>
<!--<div id="header">-->
<!--<center><br>-->
<!--Header Page - V1 -25-03-2011 test  ${welcomeMessage}</br>-->
<!--</br>-->
<!--</br>-->
<!--</center>-->
<!--</div>-->
</br>
</br>
</br>
<center><form:form method="POST" name="frmNoms">
	<table border="1">
		</tr>
		<th>id</th>
		<th>nom</th>
		<th>prenom</th>
		<th>email</th>
		<th>country</th>
		<th>login</th>
		<th>enable</th>
		<th>password</th>
		<th>Delete</th>
		<th>Update</th>
		</tr>
 
		<c:forEach var="bean" items="${listpers}">
			<tr>
				<td><c:out value="${bean.id}" /></td>
				<td><c:out value="${bean.nom}" /></td>
				<td><c:out value="${bean.prenom}" /></td>
				<td><c:out value="${bean.email}" /></td>
				<td><c:out value="${bean.country}" /></td>
				<td><c:out value="${bean.login}" /></td>
				<td><c:out value="${bean.enabled}" /></td>
				<td><c:out value="${bean.password}" /></td>
				<td><!--<input type="hidden" path="id" value="${bean.id}" />
				--><input type="button" value="Supprimer"
					onclick='submitAction("delete");'></td>
				<td><input type="button" value="Mise a jour"
					onclick='submitAction("update");'></td>
			</tr>
		</c:forEach>
	</table>
	<input type="hidden" name="action">
 
</form:form>
 
</td>
<a href="/index.htm">Root Page</a></center>
<div id="footer">
<center><br>
footer Page - V1 -25-03-2011  test</br>
</center>
</div>
</body>
</html>
Voici le code du controller de cette vue là

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
 
package com.a8sys.web.usermanager;
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
 
import com.a8sys.dao.PersonneJdbcDaoSupport;
import com.a8sys.domaine.Personne;
 
public class listUsers extends MultiActionController
 {
	private PersonneJdbcDaoSupport personnejdbcdaosupport;
	private Personne personne;
 
 
 
 
	public void setPersonnejdbcdaosupport(
			PersonneJdbcDaoSupport personnejdbcdaosupport) {
		this.personnejdbcdaosupport = personnejdbcdaosupport;
	}
	/*@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		List<Personne> lpers = personnejdbcdaosupport.getAllPersonnes();
		System.out.println("**************************************************");
		System.out.println("Nombre de ligne dans le tableau : " + personnejdbcdaosupport.getPersonnesCount());
		System.out.println("**************************************************");
		return new ModelAndView("admin/listusers","listpers", lpers);
	}*/
	public ModelAndView list(HttpServletRequest request,
			HttpServletResponse response) {
		List<Personne> lpers = personnejdbcdaosupport.getAllPersonnes();
		System.out.println("**************************************************");
		System.out.println("Nombre de ligne dans le tableau : " + personnejdbcdaosupport.getPersonnesCount());
		System.out.println("From listUsers method list ");
		System.out.println("**************************************************");
		return new ModelAndView("admin/listusers","listpers", lpers);
	}
	public ModelAndView delete(HttpServletRequest request,
			HttpServletResponse response) {
		System.out.println("From listUsers method delete ");
		System.out.println("***  begin Erase Personne ");
		int idref = ServletRequestUtils.getIntParameter(request,"deletePersonneid", 0);		
		personnejdbcdaosupport.deletePersonneByid(idref);
		System.out.println("*** Erased Personne " + idref );
		List<Personne> lpers = personnejdbcdaosupport.getAllPersonnes();
		return new ModelAndView("admin/listusers","listpers", lpers);
	}
	public ModelAndView update(HttpServletRequest request,
			HttpServletResponse response) {
		System.out.println("From listUsers method update ");
		System.out.println("***  begin get Personne ");
		int idref = ServletRequestUtils.getIntParameter(request,"UpdatePersonneid", 0);		
		Personne lpers = personnejdbcdaosupport.getPersonneById(idref);
		System.out.println("*** Personne is ready " + idref );
		return new ModelAndView("admin/updateusers","pers", lpers);
	}
	protected ModelAndView adduser(Object command) throws ServletException {
		System.out.println("From listUsers method adduser ");
		Personne pers = (Personne) command;
		pers.outpersonne();
		this.personnejdbcdaosupport.savePersonne(pers);
		List<Personne> lpers = personnejdbcdaosupport.getAllPersonnes();
 
		return new ModelAndView("admin/listusers","listpers", lpers);	
   }
 
}
et pour finir mon fichier de configuration Spring pour les vues
mon fichier de conf
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
 
<!-- le Bean qui étend MultiActionController -->
	<bean id="listUser" class="com.a8sys.web.usermanager.listUsers">
		<property name="methodNameResolver">
			<ref local="MethodNameResolver" />
		</property>
		<property name="personnejdbcdaosupport">
			<ref bean="formDAO" />
		</property>
	</bean>
	<!-- le Bean qui étend MultiActionController m'affiche bien par défaut la liste
	Mais quand je fai click sur la console je n'ai aucun message et aucun changement en DB
	si j'avais déja un message. -->
 
	<bean id="MethodNameResolver"
		class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
		<property name="defaultMethodName">
			<value>list</value>
		</property>
		<property name="paramName">
			<value>action</value>
		</property>
	</bean>
 
		<!--
	**** J'ai bien un fichier dans web-inf/src/vue.properties qui comprend #list 
		list.class=org.springframework.web.servlet.view.JstlView 
		list.url=/WEB-INF/jsp/admin/listusers.jsp 
	****
	-->
 
	<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
		<property name="basename">
			<value>vues</value>
		</property>
	</bean>
Et voici le fichier de conf de spring au complet pour les Bean uniquement formulaire encodage liste ..
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
 
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:security="http://www.springframework.org/schema/security"
	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-2.5.xsd
              		http://www.springframework.org/schema/security 
              		http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/jsp/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>
 
	<bean id="formDAO" class="com.a8sys.dao.PersonneJdbcDaoSupport">
		<property name="dataSource" ref="dataSource" />
	</bean>
	<!-- le Bean qui étend MultiActionController -->
	<bean id="listUser" class="com.a8sys.web.usermanager.listUsers">
		<property name="methodNameResolver">
			<ref local="MethodNameResolver" />
		</property>
		<property name="personnejdbcdaosupport">
			<ref bean="formDAO" />
		</property>
	</bean>
	<!-- le Bean qui étend MultiActionController m'affiche bien par défaut la liste
	Mais quand je fai click sur la console je n'ai aucun message et aucun changement en DB
	si j'avais déja un message. -->
 
	<bean id="MethodNameResolver"
		class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
		<property name="defaultMethodName">
			<value>list</value>
		</property>
		<property name="paramName">
			<value>action</value>
		</property>
	</bean>
 
		<!--
	**** J'ai bien un fichier dans web-inf/src/vue.properties qui comprend #list 
		list.class=org.springframework.web.servlet.view.JstlView 
		list.url=/WEB-INF/jsp/admin/listusers.jsp 
	****
	-->
 
	<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
		<property name="basename">
			<value>vues</value>
		</property>
	</bean>
 
	<bean id="persValidator" class="com.a8sys.web.usermanager.userValidator" />
	<bean id="persdao" class="com.a8sys.web.usermanager.userFormController">
		<property name="personnejdbcdaosupport">
			<ref bean="formDAO" />
		</property>
		<property name="sessionForm">
			<value>false</value>
		</property>
		<property name="commandName">
			<value>Personne</value>
		</property>
		<property name="commandClass">
			<value>com.a8sys.domaine.Personne</value>
		</property>
		<property name="validator">
			<ref bean="persValidator" />
		</property>
		<property name="formView">
			<value>admin/addUser</value>
		</property>
		<property name="successView">
			<value>admin/listusers</value>
		</property>
	</bean>
 
	<bean id="indexpublic" class="com.a8sys.web.HelloWorldController">
		<property name="message" value="Hello World! public" />
	</bean>
	<bean id="infoserver" class="com.a8sys.web.infoserver" />
 
 
	<bean name="/index.htm" class="com.a8sys.web.index">
		<property name="message" value="Hello World! index" />
	</bean>
 
	<bean id="adminindex" class="com.a8sys.web.admin">
		<property name="message" value="Hello World! admin" />
	</bean>
	<bean id="urlMapping"
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="interceptors">
			<list>
				<ref local="localeChangeInterceptor" />
			</list>
		</property>
		<property name="urlMap">
			<map>
				<entry key="/admin/admin.htm">
					<ref bean="adminindex" />
				</entry>
				<entry key="/public/welcome.htm">
					<ref bean="indexpublic" />
				</entry>
				<entry key="/admin/infoserver.htm">
					<ref bean="infoserver" />
				</entry>
				<entry key="/admin/addUser.htm">
					<ref bean="persdao" />
				</entry>
				<entry key="/admin/listusers.htm">
					<ref bean="listUser" />
				</entry>
 
			</map>
		</property>
	</bean>
 
	<bean id="localeChangeInterceptor"
		class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
		<property name="paramName" value="hl" />
	</bean>
 
	<bean id="localeResolver"
		class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
 
</beans>
Voici mon fichier Pom Maven2
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
 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>Database-Manager</groupId>
	<artifactId>Database-Manager</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>Database-Manager Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<dependencies>
		<dependency>
			<groupId>javax</groupId>
			<artifactId>javaee-web-api</artifactId>
			<version>6.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>3.0.4.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>3.0.4.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>3.0.4.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>20041127.091804</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-dao</artifactId>
			<version>2.0.8</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core</artifactId>
			<version>2.0.6.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.15</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-acl</artifactId>
			<version>3.0.4.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-taglibs</artifactId>
			<version>2.0.6.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>20030825.184428</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
		</dependency>
		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>datetime</artifactId>
			<version>1.0.1</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>1.1.2</version>
		</dependency>
	</dependencies>
 
	<build>
		<finalName>Database-Manager</finalName>
	</build>
</project>
donc voici mon problème je vous remercie pour avoir lu mon post
quand je click sur supprimer je n'ai aucun signe de vie dans la consol malgré mais println

Mais l'application affichier bien le contenu de la class listUsers de la methode list

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
springframework.beans.factory.support.DefaultListableBeanFactory@58b7f
25-avr.-2011 21:48:56 org.springframework.web.servlet.FrameworkServlet initServletBean
INFO: FrameworkServlet 'Database-Manager': initialization completed in 59 ms
**************************************************
Nombre de ligne dans le tableau : 5
From listUsers method list 
**************************************************
donc j'ai bien la methode par défault qui fonctionne mais pas possible de faire un delete.

l'application n'est pas plantée tomcat tourne bien l'appli aussi.
Mais je pense qu'il y a une erreur d'aiguillage au niveau de la config spring si vous pouvez m'aider a pointer ou j'ai une erreur se serait chouette.

Merci.

a bientôt.