0

次のコードを使用してデータベースのデータを表示していますが、[カートに追加]ボタンをクリックしたときのように、イベント時にカートにデータを追加できません。

query = "select * from books";
rs = st.executeQuery(query);
out.println("<h4><marquee> WELCOME TO BOOK SECTION </marquee></h4>");
out.println("<table border=1>");
count=1;
while (rs.next()) {
    i++;
    itemName = rs.getString("BOOK_NAME");
    avail = rs.getString("BOOK_AVAIL");
    cost = rs.getFloat("BOOK_sell_price");
    if(count==1){
        out.print("<tr>");
    }   
    out.println("<td>" + itemName  +  " "+  avail + "  " + cost + "<br>");
    out.println("<input type=button value='add to cart' onclick=addcart();>");
    out.print("</td>");
    count+=1;
    if(count>3){
        out.print("</tr>");
        count=1;
    }

誰かがバックエンドにこれらのアイテムを追加する適切な方法を提供して、私が行くときにcart.jsp「カートに追加」をクリックしたカート上のアイテムを見つけることができるようにすることはできますか?

上記のコードを操作せずにセッションを使用する方法がわかりません。他の方法が利用できる場合はお知らせください。

よろしくお願いします。

4

1 に答える 1

0

各追加ボタンを独自に配置して<form>、製品 ID を非表示の入力フィールドとして定義するだけです。もちろん、DB テーブルに製品 ID を表す列がありますね。

<form action="add" method="post">
    <input type="hidden" name="id" value="${id}" />
    <input type="submit" value="Add to cart" />
</form>

このようにして、idはリクエスト パラメータとして使用できます。JS が無効になっている Web サイトで Web サイトを使用できなくするような醜い Javascript ハックは必要ありません。

于 2011-03-23T11:59:18.540 に答える