当前位置: 首页 > 知识库问答 >
问题:

bean类[java.util.ArrayList]的属性“username”无效:bean属性“username”不可读或具有无效的getter方法

颛孙玉石
2023-03-14

我收到以下错误“bean类[java.util.ArrayList]的无效属性'username]:bean属性'username'不可读或具有无效的getter方法”。

虽然我有正确的表单bean,名称为username,但是我仍然收到了这个错误,你能帮我解决这个错误吗。。?

public class User {

    private int userId;
    private String username;
    private String firstname;
    private String lastname;
    private String email;
    private String lastUpdatedBy;
    private String lastUpdatedDate;


    public int getUserId() {
        return userId;
    }
    public void setUserId(int userId) {
        this.userId = userId;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getFirstname() {
        return firstname;
    }
    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }
    public String getLastname() {
        return lastname;
    }
    public void setLastname(String lastname) {
        this.lastname = lastname;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }
    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }
    public String getLastUpdatedDate() {
        return lastUpdatedDate;
    }
    public void setLastUpdatedDate(String lastUpdatedDate) {
        this.lastUpdatedDate = lastUpdatedDate;
    }    

}

我的jsp页面在下面

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>UTVA Application</title>
</head>
<body>
    <form:form modelAttribute="user" method="post" action="/findUser.html">
        <table>
            <tr>
                <td><form:label path="username">User ID:</form:label></td>
                <td><form:input path="username" /></td>
            </tr>
            <tr>
                <td><form:label path="firstname">First Name</form:label></td>
                <td><form:input path="firstname" /></td>
            </tr>
            <tr>
                <td><form:label path="lastname">Last Name:</form:label></td>
                <td><form:input path="lastname" /></td>
            </tr>
            <tr>
                <td colspan="2"><input type="submit" value="findUser" /></td>
            </tr>
        </table>
    </form:form>    
        <table>
            <tr>
                <td>User Id</td>
                <td>First Name</td>
                <td>Last Name</td>
                <td>Email Address</td>
                <td>Last Update Date</td>
                <td>Last Update By</td>
            </tr>
        <c:forEach var="list" items="${userList}">
            <tr>
                <td>${list.userId}</td>
                <td>${list.username}</td>
                <td>${list.firstname}</td>
                <td>${list.lastname}</td>
                <td>${list.email}</td>
                <td>${list.lastUpdatedBy}</td>
                <td>${list.lastUpdatedDate}</td>    
                <td><a href="listVendors.html?userId=${list.userId}">assignVendor</a></td>          
            </tr>
        </c:forEach>
    </table>

    </body>
</html>

下面提供了我的控制器

@Controller
@SessionAttributes
public class UserController {

    protected Log logger = LogFactory.getLog(getClass());

    @Autowired
    UserService userService;

    @RequestMapping(value="/userList")
    public ModelAndView getUserList(){

        List<User> userList = userService.getUserList();        

        return new ModelAndView("userList", "user", userList);      
    }

    @RequestMapping(value="/findUser")
    public ModelAndView findUser(@ModelAttribute("user") User user,
                                 BindingResult result){ 

        List<User> userResultsList = null;

        //model.addAttribute("user", new User());

        userResultsList = userService.findUser(user.getUsername(), user.getFirstname(),
                user.getLastname());            

        return new ModelAndView("userList", "user", userResultsList);       

    }


}

共有2个答案

陆绍辉
2023-03-14

请尝试使用以下代码

 @RequestMapping(value="/userList")
    public ModelAndView getUserList(){

        List<User> userList = userService.getUserList();        
        ModelAndView mav = new ModelAndView("userList");
        mav.addObject("userList", userList);
        mav.addObject("user", user);
        return mav;      
    }
仲法
2023-03-14

你所做的是错误的!

您正在用用户列表而不是用户对象绑定表单。

控制器方法更改为

 public ModelAndView getUserList(ModelMap model){
    List<User> userList = userService.getUserList();        
    ModelAndView model = new ModelAndView("userList");
    model.addAttribute("userList", userList);
    model.addAttribute("user", new User());
    return model;
}
 类似资料:
  • 我是新来的Spring靴。我在基于javax的验证上遇到了麻烦。控制器期望从POSTendpoint获得json obj的列表。在JSON请求json数组中,如果或为空,我得到正确的400错误。但是,当或为空时,它会抛出500个带有错误消息的异常: 控制器。JAVA 汽车JAVA Engine.java CollectionValidator。JAVA 验证者Advice.java 请求/响应:U

  • 我是Spring的新手,我有个例外。 我有一个jsp,有很多选择。它们都工作正常,但有一个显示了这个例外: 我正在以与其他工作正常的人相同的方式实施selct。下面是jsp代码: 这里是控制器: 这里,实体Expediente: 最后是TipoExpedinte实体 我认为这可能发生,因为PharmantePadre属性是同一实体Pharmante的外键,但我不知道如何解决它。。。 要帮忙吗?谢谢

  • 在“项目创建”视图中,我需要一个选择框,该框显示所有拥有类似Chef Projet的Rolename的用户 以下是Projet、Usilizateur最重要的摘录: 用户: 当提交表格时,被选中的用户将被分配到项目中。 Projets。jsp: 管理员控制器: 这是堆栈跟踪:

  • 因此,我有一个任务来编写一个简单的注册表路由Web应用程序。使用Spring MVC。所以我有“路线”类,在那里我想保留起点、终点和中间点列表。但是我不明白,如何把值从jsp列表(例如使用jstl)。所以我决定解析一个字符串。 并遵循JSP: 如果有必要,我可以发布控制器代码。我有一个错误: 谁能解释一下我做错了什么?

  • 谁能看看这个错误并帮助我吗?我花了两个小时去找问题,但我没有找到解决办法。列出数据是可行的,但问题是在使用action=“saveCategory添加jsp时。 org.springframework.beans.NotReadablePropertyException:bean类[java.util.ArrayList]的属性“category name”无效:bean属性“category n

  • 现在在用spring框架spring boot version = ' 1 . 5 . 9 . release '做java。但是每次我运行我的网络应用程序时 org.springframework.beans.NotReadable属性异常: bean类的无效属性'id'[java.util.ArrayList]: Bean属性'id'不可读或具有无效的getter方法:getter的返回类型是