j'ai qq codes sur layout framework, comme ça

Ne faire pas attention aux chaînes de titles, c'est bonne.
dans le fichier struts-config.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<action attribute="collectionInputForm"
			input="/jsp/strutsLayout/Collection/collectionInput.jsp"
			name="collectionInputForm" 
			parameter="do"
			path="/collectionInput" 
			scope="request"
			type="chapter2a.struts.action.CollectionInputAction">
			<forward name="showCollection" path="display.layout.collection.input.form" />
		</action>
dans la page JSP
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
 
<layout:form 
	action="collectionInput" styleClass="FORM" reqCode="save" 
	key="struts.layout.collection.input.form.title">
<layout:pager maxPageItems="4" sessionPagerId="collectionInputPageID">
	<layout:collection name="collectionInputForm" property="users" id="user"
		styleClass="FORM">
		<layout:collectionItem property="id"
			title="struts.layout.collection.user.id" />
		<layout:collectionInput
			formProperty="usrName" 
			property="usrName" 
			title="struts.layout.collection.user.username" />
		<layout:collectionInput
			formProperty="usrNickname"  
			property="usrNickname"
			title="struts.layout.collection.user.nickname" />
		<layout:collectionItem property="infocity.infoCityName"
			title="struts.layout.collection.user.city" />
		<layout:collectionItem property="infointerest.infoInterestName"
			title="struts.layout.collection.user.interest" />
		<layout:collectionItem property="infoincomelevel.infoIncomeLevel"
			title="struts.layout.collection.user.income" />
	</layout:collection>
</layout:pager>
<layout:message key="_______________________________________________________________________"/>
 
<layout:submit>
	<layout:message key="struts.layout.collection.input.button.submit"/>
</layout:submit>
</layout:form>
dans le fichier Form
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
 
public class CollectionInputForm extends ActionForm {
	private User[] users = new User[0];
 
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		users = new User[0];
	}
 
	public User[] getUsers() {
		return users;
	}
 
	public void setUsers(User[] users) {
		this.users = users;
	}
 
	/// for the collectionInput
 
	public String getUsrName(int index) {
		if (index>=this.users.length) return "";
		return this.users[index].getUsrName();
	}
 
	public void setUsrName(int index, String usrName) {
		if (index>=this.users.length) return;
		this.users[index].setUsrName(usrName);
	}
 
	public String getUsrNickname(int index) {
		if (index>=this.users.length) return "";
		return this.users[index].getUsrNickname();
	}
 
	public void setUsrNickname(int index, String usrNickname) {
		if (index>=this.users.length) return;
		this.users[index].setUsrNickname(usrNickname);
	}
}
et dans le fichier d'action
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
 
public class CollectionInputAction extends DispatchAction {
	/*
	 * Generated Methods
	 */
 
 
	public ActionForward showList(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
 
		CollectionInputForm collectionInputForm = (CollectionInputForm) form;
 
		DataBaseControler control = new DataBaseControler();
 
		collectionInputForm.setUsers(control.getUserList());
 
		return mapping.findForward("showCollection");
	}
 
	public ActionForward save(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
 
		CollectionInputForm collectionInputForm = (CollectionInputForm) form;
 
		DataBaseControler control = new DataBaseControler();
 
		control.saveUsers(collectionInputForm.getUsers());
 
		return mapping.findForward("showCollection");
	}
}
Ma problème est quand je faire submit la page va affichier rien
Faire attention à la code de formAction, même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if (index>=this.users.length) return "";
Si je les supprime, je vais receivoir toujours un erreur : out of bound
Je ne sais pas pouquoi ??

Vous pouvez m'aider ?

Merci d'avance