2
次のコードを実行されます。しかし、スクリプトレットが誤っ
"<%cart.removeItem(0);%>"
は、ボタンをクリックせずにページをリフレッシュすると実行されます。なぜこうなった?
乾杯。
完全な情報源です。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<jsp:useBean id="cart" scope="session" class="myBeans.cart" />
<%
cart.addItem("aji", "1000", "1");
cart.addItem("ewer", "200", "1");
cart.addItem("dfwerweji", "10", "1");
cart.addItem("ldsjioi", "1320", "1");
String[] prodNames = cart.getProdNames();
double[] prices = cart.getProdPrices();
int[] qtys = cart.getProdQtys();
double total = 0;
for(int i=0; i<prodNames.length; i++){
total += prices[i]*qtys[i];
out.println(prodNames[i]);
out.println(" " + prices[i] + " ");
out.println("<input type=text name=newQty value=" + qtys[i] + ">");
out.println(" " + prices[i] * qtys[i]);
}
%>
<br/>
<button type="button" id="button" onclick="<%cart.removeItem(0);%>">Click me</button>
</body>
</html>
はい、カートはjavabeanオブジェクトです。あなたのコード、 '新しいAjax.Request(' removeFirst.page ');'、removeFirst.pageのポイントは何ですか? – user859385
私は編集して、完全なソースを入れました。希望は私のコードをよりよく理解できるようにします。ありがとう – user859385
@ user859385:クライアント側とサーバー側のオブジェクトとアクションが混在しています。 'カート'はサーバー側でのみ使用でき、ボタンのクリックはクライアント側で使用できます。私のAjax.Request(AjaxリクエストのPrototype Libraryの略語)のポイントは、そのページを実行するようにサーバーにコールバックすることです。そのページでは、カートのオブジェクトからアイテム0が削除され、クライアント側のページを再描画したり、更新されたデータを挿入したり、Javascriptで非表示にするだけです。それは理にかなっていますか? –