我使用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
答案 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 。如果它位于 整数 ,则无效。