bean类的属性'idUtilisateur'无效

时间:2017-10-03 16:24:39

标签: spring jsp spring-mvc

运行Spring MVC Web应用程序时出现以下错误:

  

bean类的无效属性'idUtilisateur'[com.model.Utilisateur _ $$ _ jvstba9_0]:属性'idUtilisateur'的getter抛出异常;嵌套异常是java.lang.reflect.InvocationTargetException   org.springframework.beans.InvalidPropertyException:bean类的无效属性'idUtilisateur'[com.model.Utilisateur _ $$ _ jvstba9_0]:属性'idUtilisateur'的getter抛出异常;嵌套异常是java.lang.reflect.InvocationTargetException

我该如何解决?

Utilisateur.java

package com.model;

import java.io.Serializable;
import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="utilisateur")
public class Utilisateur implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="idutilisateur")
    private Long idUtilisateur;

    @Column(name="emailutilisateur")
    private String emailUtilisateur;

    @Column(name="motpasseutilisateur")
    private String motPasseUtilisateur;

    @Column(name="nomutilisateur")
    private String nomUtilisateur;

    @Column(name="dateinscriptionutilisateur")
    private Timestamp dateInscriptionUtilisateur;

    public Long getIdUtilisateur() {
        return idUtilisateur;
    }

    public void setIdUtilisateur(Long idUtilisateur) {
        this.idUtilisateur = idUtilisateur;
    }

    public String getEmailUtilisateur() {
        return emailUtilisateur;
    }

    public void setEmailUtilisateur(String emailUtilisateur) {
        this.emailUtilisateur = emailUtilisateur;
    }

    public String getMotPasseUtilisateur() {
        return motPasseUtilisateur;
    }

    public void setMotPasseUtilisateur(String motPasseUtilisateur) {
        this.motPasseUtilisateur = motPasseUtilisateur;
    }

    public String getNomUtilisateur() {
        return nomUtilisateur;
    }

    public void setNomUtilisateur(String nomUtilisateur) {
        this.nomUtilisateur = nomUtilisateur;
    }

    public Timestamp getDateInscriptionUtilisateur() {
        return dateInscriptionUtilisateur;
    }

    public void setDateInscriptionUtilisateur(Timestamp dateInscriptionUtilisateur) {
        this.dateInscriptionUtilisateur = dateInscriptionUtilisateur;
    }

    @Override
    public String toString() {
        return "Utilisateur [idUtilisateur=" + idUtilisateur + ", emailUtilisateur=" + emailUtilisateur
                + ", motPasseUtilisateur=" + motPasseUtilisateur + ", nomUtilisateur=" + nomUtilisateur
                + ", dateInscriptionUtilisateur=" + dateInscriptionUtilisateur + "]";
    }
}

UtilisateurController

package com.controller;

import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.jboss.logging.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.model.Utilisateur;
import com.service.UtilisateurService;

@Controller
public class UtilisateurController {

    @SuppressWarnings("unused")
    private final static Logger logger = Logger.getLogger("UtilisateurController");

    public UtilisateurController(){
        System.out.println("spring_da_user_management_web_app");
    }

    @Autowired
    private UtilisateurService service;

    @RequestMapping(value="/newUtilisateur", method=RequestMethod.GET)
    public ModelAndView newUtilisateur(ModelAndView model){
        Utilisateur utilisateur = new Utilisateur();
        model.addObject("utilisateur", utilisateur);
        model.setViewName("utilisateurForm");
        return model;
    }

    @RequestMapping(value = "/saveUtilisateur", method = RequestMethod.POST)
    public ModelAndView saveUtilisateur(@ModelAttribute Utilisateur utilisateur) {
        if (utilisateur.getIdUtilisateur() == 0) { 
            service.addUtilisateur(utilisateur);
        } else {
            service.updateUtilisateur(utilisateur);
        }
        return new ModelAndView("redirect:/");
    }

    @RequestMapping(value="/", method=RequestMethod.GET)
    public ModelAndView listeUtilisateur(ModelAndView model) throws IOException{
        List<Utilisateur> listeUtilisateur = service.getAllUtilisateur();
        model.addObject("listeUtilisateur", listeUtilisateur);
        model.setViewName("listeutilisateur");
        return model;
    }

    @RequestMapping(value = "/editUtilisateur", method = RequestMethod.GET)
    public ModelAndView editContact(HttpServletRequest request) {
        Long idUtilisateur = Long.parseLong(request.getParameter("idUtilisateur"));
        Utilisateur utilisateur = service.getUtilisateurById(idUtilisateur);
        ModelAndView model = new ModelAndView("utilisateurForm");
        model.addObject("utilisateur", utilisateur);
        return model;
    }

    @RequestMapping(value="/deleteUtilisateur", method=RequestMethod.GET)
    public ModelAndView deleteUtilisateur(HttpServletRequest request){
        service.deleteUtilisateur(Long.parseLong(request.getParameter("idUtilisateur")));
        return new ModelAndView("redirect:/");
    }
}

UtilisateurDao

package com.dao;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.model.Utilisateur;

@Repository
public class UtilisateurDaoImpl implements UtilisateurDao {

    @Autowired
    private SessionFactory sessionFactory;

    public void addUtilisateur(Utilisateur utilisateur) {
        sessionFactory.getCurrentSession().saveOrUpdate(utilisateur);
    }

    @SuppressWarnings("unchecked")
    public List<Utilisateur> getAllUtilisateur() {
        List<Utilisateur> listeUtilisateur = sessionFactory.getCurrentSession().createQuery("from Utilisateur").list();
        return listeUtilisateur;
    }

    public Utilisateur getUtilisateurById(Long idUtilisateur) {
        return (Utilisateur)sessionFactory.getCurrentSession().load(Utilisateur.class, idUtilisateur);
    }

    public Utilisateur updateUtilisateur(Utilisateur utilisateur) {
        sessionFactory.getCurrentSession().update(utilisateur);
        return utilisateur;
    }

    public void deleteUtilisateur(Long idUtilisateur) {
        Utilisateur utilisateur = (Utilisateur)sessionFactory.getCurrentSession().load(Utilisateur.class, idUtilisateur);
        if(utilisateur != null){
            this.sessionFactory.getCurrentSession().delete(utilisateur);
        }
    }

}

utilisateurForm.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Edit / Save Utilisateur</title>
    </head>
    <body>
        <div align="center">
            <h1> Edit / Save Utilisateur</h1>           
            <form:form action="saveUtilisateur" method="post" modelAttribute="utilisateur">
                <table>
                    <form:hidden path="idUtilisateur"/>                 
                    <tr>
                        <td>Adresse email</td>
                        <td><form:input path="emailUtilisateur"/></td>
                    </tr>                   
                    <tr>
                        <td>Mot de passe</td>
                        <td><form:password path="motPasseUtilisateur"/></td>
                    </tr>                   
                    <tr>
                        <td>Nom d'utilisateur</td>
                        <td><form:input path="nomUtilisateur"/></td>
                    </tr>                   
                    <tr>
                        <td>Date d'inscription</td>
                        <td><form:input path="dateInscriptionUtilisateur"/></td>
                    </tr>                   
                    <tr>
                        <td colspan="2" align="center"><input type="submit" value="Save"/></td>
                    </tr>
                </table>
            </form:form>
        </div>
    </body>
</html>

0 个答案:

没有答案