2016-09-20 2 views
0

Ich erhalte folgende Fehlermeldung beim Ausführen meiner Spring MVC-Webanwendung: -Ungültige Eigenschaft 'Benutzername' der Bean-Klasse [java.lang.String]: Bean-Eigenschaft 'Benutzername' ist nicht lesbar oder hat eine ungültige Getter-Methode:

org.springframework.beans.NotReadablePropertyException: Ungültige Eigenschaft 'Benutzername' der Bean-Klasse [java.lang.String]: Bean-Eigenschaft 'Benutzername' ist nicht lesbar oder hat eine ungültige Getter-Methode: Gibt den Rückgabetyp des Getters an Passen Sie den Parametertyp des Setter an?

Warum zeigt der Fehler auf eine String-Klasse wie java.lang.String? Es sollte von meinem UserForm-Objekt ausgehen.

Userform: -

package myspring; 

/** 
* @author vinod827 
* 
*/ 
public class UserForm { 


    private String username; 
    private String password; 
    public String getUsername() { 
     return username; 
    } 
    public void setUsername(String username) { 
     this.username = username; 
    } 
    public String getPassword() { 
     return password; 
    } 
    public void setPassword(String password) { 
     this.password = password; 
    } 

} 

Controller-Klasse (LoginPageController): -

/** 
* 
*/ 
package myspring; 

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.ModelMap; 
import org.springframework.validation.BindingResult; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 

/** 
* @author vinod827 
* 
*/ 
@Controller 
@RequestMapping(value = "/login") 
public class LoginPageController { 

    private final Logger logger = LoggerFactory.getLogger(LoginPageController.class); 

    @RequestMapping(method = RequestMethod.GET) 
    public String showLoginPage(ModelMap modelMap){ 
     logger.info("**************"); 
     UserForm userForm = new UserForm(); 
     modelMap.addAttribute("userForm", "userForm"); 
     return "login"; 
    } 


    @RequestMapping(method = RequestMethod.POST) 
    public String verifyLogin(UserForm userForm, BindingResult bindingResult, ModelMap modelMap){ 
     logger.info("********&&&&&&&&&******"); 
     String username = "username"; 
     String password = "password";  
     logger.info(username+":"+password); 
     userForm = (UserForm) modelMap.get(userForm);  
     modelMap.addAttribute("userForm", userForm); 
     return "success"; 
    } 
} 

JSP: -

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> 
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> 

<!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=ISO-8859-1"> 
<title>Sign-In</title> 
</head> 
<body> 
<h3>Secure Sign-in</h3> 
<form:form method="post" action="login" commandName="userForm"> 
    <form:input path="username" type="text"/> 
    <form:errors path="username" /><br> 
    <form:input path="password" type="password"/> 
    <form:errors path="password" /><br><br> 
    <form:button id="submit" name="submit" value="submit">Submit</form:button> 
</form:form> 
</body> 
</html> 

Können Sie bitte dies mitteilen, wo ich mache die Fehler? Ich habe versucht, den Klassennamen von UserForm auf nur 'User.java' umzuformieren und auch den Benutzernamen für den Benutzer entsprechend auf JSP umzubenennen, aber immer noch denselben Fehler zu zeigen.

Danke,

Antwort

0

In LoginPageController,

modelMap.addAttribute("userForm", new UserForm()); 
zu

ändern
Verwandte Themen