IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Web Java Discussion :

Dozer mapper intégration avec Spring MVC


Sujet :

Spring Web Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 34
    Points
    34
    Par défaut Dozer mapper intégration avec Spring MVC
    Je suis entrain de faire le mapping d'une class user est userDto dans une la premiere fois ou les deux class contient les mêmes attributs tout marche bien une fois que j'ai modifier User(la class)--->username(attributs)
    UserDton----> login

    J'ai l'erreur suivante :
    org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.NotReadablePropertyException: Invalid property 'username' of bean class [spring.users.UserDTO]: Bean property 'username' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.authentication.http://www.BasicAuthenticationFilter...ilter.java:177)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

    cause mère

    org.springframework.beans.NotReadablePropertyException: Invalid property 'username' of bean class [spring.users.UserDTO]: Bean property 'username' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
    org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:707)
    org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:699)
    org.springframework.validation.AbstractPropertyBindingResult.getActualFieldValue(AbstractPropertyBindingResult.java:98)
    org.springframework.validation.AbstractBindingResult.getFieldValue(AbstractBindingResult.java:224)
    org.springframework.validation.ValidationUtils.rejectIfEmptyOrWhitespace(ValidationUtils.java:224)
    org.springframework.validation.ValidationUtils.rejectIfEmptyOrWhitespace(ValidationUtils.java:182)
    spring.users.UserFormValidator.validate(UserFormValidator.java:26)
    spring.users.UsersControllers.create(UsersControllers.java:95)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.authentication.http://www.BasicAuthenticationFilter...ilter.java:177)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    voila mon fichier de configuration de dozer mapper :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
    <mappings xmlns="http://dozer.sourceforge.net"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://dozer.sourceforge.net
    http://dozer.sourceforge.net/schema/beanmapping.xsd" >
      <mapping>
        <class-a>spring.users.User</class-a>
        <class-b>spring.users.UserDTO</class-b>
        <field>
          <a>username</a>
          <b>login</b>
        </field>
      </mapping>
    </mappings>
    les ligne que j'ai ajouter dans le fichier application cntext
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!-- Dozzer mapper -->
        <bean id="dozerMapper" class="org.dozer.DozerBeanMapper">
            <description>Dozer Mapper with mapping files and custom converters</description>
            <property name="mappingFiles">
                <list>
                    <value>classpath:dozer-mapping.xml</value>
                </list>
            </property>
        </bean>
    le code de mon page jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr>
    						<td width="100" align="right">User Name</td>
    						<td width="150">
    						<form:input path="login"/></td>
    						<td align="left">
    						<form:errors path="login" cssStyle="color:red"></form:errors> 
    						</td>
    					</tr>
    le code de mon controleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    		// Définition des fichiers de mapping
    		List<String> mappingFiles = new ArrayList<String>();
    		mappingFiles.add("classpath:dozer-mapping.xml");
    		// Déclaration des fichiers de mapping
    		DozerBeanMapper mapper = (DozerBeanMapper)DozerBeanMapperSingletonWrapper.getInstance();
    		mapper.setMappingFiles(mappingFiles);
    		DozerBeanMapper dozerBeanMapper=new DozerBeanMapper (); 
    		User user = (User) dozerBeanMapper.map(userDTO,User.class);
     
    		//User user = (User) mapper.map(userDTO,User.class);
    		usersDAO.save(user);

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Invalid property 'username' of bean class [spring.users.UserDTO]: Bean property 'username' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
    Tu n'as pas une méthode public "getUsername" qui retourne la valeur de la propriété username dans la classe UserDTO.

    A+.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 34
    Points
    34
    Par défaut dozer mapper problem
    l'attribut username a tout les getter et les setter j'attends votre repense

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Peut-on voir la classe UserDTO?

    A+.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    voila ma class dto package spring.users;
    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
    import java.util.Date;
     
    import javax.persistence.Column;
    import javax.xml.bind.annotation.*;
     
    import spring.roles.Role;
    //@XmlRootElement(name="user")
    //@XmlAccessorType(XmlAccessType.FIELD)
    //@XmlType(propOrder = { "id", "nom","prenom","mail","date",})
    public class UserDTO {
    	 private int user_id;
    	 private String login;
    	 private String password;
    	 private String enabled;
    	 	private String first_name;
    		private String last_name;
    		private String email;
    		private Date dateCreation;
    		private String phone_number;
    	 private Role role;
    	public int getUser_id() {
    		return user_id;
    	}
    	public void setUser_id(int user_id) {
    		this.user_id = user_id;
    	}
     
    	public String getLogin() {
    		return login;
    	}
    	public void setLogin(String login) {
    		this.login = login;
    	}
    	public String getPassword() {
    		return password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    	public String getEnabled() {
    		return enabled;
    	}
    	public void setEnabled(String enabled) {
    		this.enabled = enabled;
    	}
    	public Role getRole() {
    		return role;
    	}
    	public void setRole(Role role) {
    		this.role = role;
    	}
    	public String getFirst_name() {
    		return first_name;
    	}
    	public void setFirst_name(String first_name) {
    		this.first_name = first_name;
    	}
    	public String getLast_name() {
    		return last_name;
    	}
    	public void setLast_name(String last_name) {
    		this.last_name = last_name;
    	}
    	public String getEmail() {
    		return email;
    	}
    	public void setEmail(String email) {
    		this.email = email;
    	}
    	public Date getDateCreation() {
    		return dateCreation;
    	}
    	public void setDateCreation(Date dateCreation) {
    		this.dateCreation = dateCreation;
    	}
    	public String getPhone_number() {
    		return phone_number;
    	}
    	public void setPhone_number(String phone_number) {
    		this.phone_number = phone_number;
    	}
     
     
     
    }

Discussions similaires

  1. [MVC] peut t-on faire du RIA avec Spring MVC?
    Par kelkan dans le forum Spring Web
    Réponses: 6
    Dernier message: 01/03/2010, 15h46
  2. [MVC] Débuter avec Spring MVC et Hibernate
    Par jamalmoundir dans le forum Spring Web
    Réponses: 3
    Dernier message: 08/01/2010, 08h55
  3. Problème à l'étape d'intégration avec Spring
    Par denzelboy dans le forum Tapestry
    Réponses: 1
    Dernier message: 04/12/2009, 20h51
  4. [DisplayTag] Problème de selection multiple checkbox avec spring mvc
    Par nean_j dans le forum Taglibs
    Réponses: 5
    Dernier message: 20/11/2009, 14h33
  5. Probleme de session avec spring MVC et tomcat
    Par jalalos dans le forum Spring Web
    Réponses: 0
    Dernier message: 13/08/2009, 11h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo