找不到在''package.myBean'类型的bean中写入'java.lang.Integer'类型的属性'id'的方法

时间:2012-11-30 09:41:17

标签: jsp javabeans jsp-tags

我使用jsp和java bean将表单元素插入到数据库表中。但是,每次我尝试使用标记设置java bean的整数属性时,它会给我上面的错误。同时它正在为bean的字符串属性工作。

<jsp:setProperty name="newEmp" property="deptId" value='<%= Integer.parseInt(request.getParameter("deptId")) %>' />

如果我使用

<jsp:setProperty name="newEmp" property="*" />

每次将deptId值设置为0

3 个答案:

答案 0 :(得分:0)

setProperty只能获取字符串值

试试这个

<jsp:setProperty name="newEmp" property="deptId" value="deptId" />

在你的bean中你可以有setter getter,它将deptID作为字符串。当你要在数据库中插入时解析它们

答案 1 :(得分:0)

检查你的bean类是否省略了setter方法, 整数变量在我的示例代码中是可以的:

public int getDeptId() {
        return deptId;
    }


public class Produce {
    private String name="电吉他";
    private double price=1880.5;
    private int count=100;
    private String factoryAdd="吉林省长春市";

    public double getPrice() {
        return price;
    }

    public String getFactoryAdd() {
        return factoryAdd;
    }

    public String getName() {
        return name;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getCount() {
        return count;
    }
}


<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>
<head>
    <title>Title</title>
</head>
<body>
<jsp:useBean id="produce" class="net.cs30.Produce"></jsp:useBean>
<jsp:setProperty name="produce" property="name" value="洗衣机"/>
<jsp:setProperty name="produce" property="count" value="12306"/>
<div>
    <ul>
        <li>商品名称:<jsp:getProperty name="produce" property="name"></jsp:getProperty></li>
        <li>厂址:<jsp:getProperty name="produce" property="count"/></li>
    </ul>
</div>
</body>
</html>

这是我输出中的screenshot

答案 2 :(得分:0)

<jsp:setProperty name="newEmp" property="deptId" value="deptId" />

检查bean的setter方法中的参数传递是否应该是数据类型 int 。如果它位于 整数 ,则无效。