bean SimpleFormController - probleme avec l'objet commande
Voici mon probleme, si quelqu'un a une réponse, même minime, cela m'aiderai.
J'ai ce bean dans mon xxx-servlet.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <bean id="LoginProcessController"
class="ca.MyDomain.MyDomainweb.web.LoginProcessController">
<property name="sessionForm">
<value>true</value>
</property>
<property name="commandClass">
<value>ca.MyDomain.MyDomainweb.security.impl.UserLoginAndPassImpl</value>
</property>
<property name="commandName">
<value>commandUserLoginAndPass</value>
</property>
<property name="formView">
<value>login</value>
</property>
<property name="successView">
<value>confirmationLogin</value>
</property>
</bean> |
Qui est appelé par
Code:
1 2 3 4 5 6 7 8 9
| <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/list.do">ListController</prop>
<prop key="/login.do">LoginProcessController</prop>
<prop key="/*.do">viewController</prop>
</props>
</property>
</bean> |
J'ai mon fichier vues.properties qui contient
Code:
1 2
| login.class=org.springframework.web.servlet.view.tiles.TilesJstlView
login.url=login |
Et un fichier definitions.xml qui contient
Code:
1 2 3 4 5
| <definition name="template" page="/WEB-INF/vues/main.jsp">
</definition>
<definition name="login" extends="template">
<put name="content" value="/WEB-INF/vues/login.jsp" type="page"/>
</definition> |
Jusqu'ici tout va bien, voila ce qui cloche dans mon fichier login.jsp que voila:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ page isELIgnored="false" %>
Page de login
<form method=post>
<table border="5">
<!-- champ de saisie -->
<tr>
<td>Nom d''usager</td>
<td>
<input type="text" name="commandUserLoginAndPass.username" value="tapez un texte">
</td>
</tr>
<!-- mot de passe -->
<tr>
<td>Mot de passe</td>
<td>
<input type="password" name="commandUserLoginAndPass.password" value="motDePasse">
</td>
</tr>
</table>
<input type="submit" value="Envoyer">
</form> |
Je n'arrive pas a récupérer mon object commandUserLoginAndPass.
Lorsque j'essaie de le lire a partir de mon SimpleFormController que voici:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| protected ModelAndView onSubmit(Object commandUserLoginAndPass){
Map<String,SafUserData> model = new HashMap<String,SafUserData>();
SafUserData data = new SafUserData();
SafUserData definition = new SafUserData();
Integer id = 0;
String nom = new String();
String pass = new String();
String vue = new String();
String enable = new String();
if ( log.isDebugEnabled() ){
log.debug( "commandUserLoginAndPass = " + commandUserLoginAndPass.getClass() );
log.debug( "((UserLoginAndPassImpl) commandUserLoginAndPass).getUsername() = " + ((UserLoginAndPassImpl) commandUserLoginAndPass).getUsername() );
log.debug( "((UserLoginAndPassImpl) commandUserLoginAndPass).getPassword() = " + ((UserLoginAndPassImpl) commandUserLoginAndPass).getPassword() );
}
... |
J'obtient le résultat suivant avec log4J
Code:
1 2 3 4 5
| DEBUG [LoginProcessController:434] 2009-03-13 16:20:02,683 - Removing form session attribute [ca.MyDomain.MyDomainweb.web.LoginProcessController.FORM.commandUserLoginAndPass]
DEBUG [LoginProcessController:266] 2009-03-13 16:20:02,699 - No errors -> processing submit
DEBUG [LoginProcessController:53] 2009-03-13 16:20:02,699 - commandUserLoginAndPass = class ca.MyDomain.MyDomainweb.security.impl.UserLoginAndPassImpl
DEBUG [LoginProcessController:54] 2009-03-13 16:20:02,699 - ((commandUserLoginAndPass) commandUserLoginAndPass).getUsername() = null
DEBUG [LoginProcessController:55] 2009-03-13 16:20:02,714 - ((commandUserLoginAndPass) commandUserLoginAndPass).getPassword() = null |
Voici ma classe récupérant mon username et password
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public class UserLoginAndPassImpl implements UserLoginAndPass {
private String username;
private String password;
public String getUsername(){
return this.username;
}
public void setUsername(String username){
this.username = username;
}
public String getPassword(){
return this.password;
}
public void setPassword(String password){
this.password = password;
}
} |
Si quelqu'un a une idée du pourquoi je ne peux récupérer mon username et password dans mon LoginProcessController, meme une petite idée pourrait surement m'aider. Merci d'avance.