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

セッターメソッドが省略されているかどうか、Bean クラスを確認してください。以下のサンプルコードでは、整数変数は問題ありません。

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 に答える
0

setProperty は文字列値のみを取ることができます

これを試して

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

Bean では、deptID を文字列として受け取るセッター getter を使用できます。データベースに挿入するときにそれらを解析します

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

Bean のセッター メソッド内で渡されるパラメーターがデータ型intである必要があるかどうかを確認します。整数の場合は機能しません。

于 2018-04-10T13:36:05.960 に答える