2

我正在使用 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

4

3 回答 3

0

setProperty 只能取 String 值

尝试这个

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

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

于 2012-11-30T10:04:33.823 回答
0
<jsp:setProperty name="newEmp" property="deptId" value="deptId" />

检查 bean 的 setter 方法内部传递的参数是否应该是int数据类型。如果它是整数,它将不起作用。

于 2018-04-10T13:36:05.960 回答
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>商品名称:&lt;jsp:getProperty name="produce" property="name"></jsp:getProperty></li>
        <li>厂址:&lt;jsp:getProperty name="produce" property="count"/></li>
    </ul>
</div>
</body>
</html>

这是我输出的屏幕截图

于 2016-12-04T13:19:36.533 回答