私は初心者で、Murach の Java サーブレットと JSP を読んでいます...例を見ていきます。この Ch11 の単純なショッピング カートの例では、ちょっと行き詰まりました。
ここにコード全体を投稿しますが、本当に長くなります。
ドロップボックス リンクに完全なコードを配置しました: https://dl.dropboxusercontent.com/u/36625850/Ch11-JSTL.rar
質問:
CartServlet.java
if(quantity > 0) cart.addItem(lineItem); else if(quantity == 0) cart.removeItem(lineItem); session.setAttribute("cart", cart); String url = "/cart.jsp"; RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url); dispatcher.forward(request, response);
これはおそらくばかげた質問です。サーブレットの If ステートメントに { } は必要ないことに気付きましたか? どうしてこれなの?つまり、通常の Java if ステートメントはすべて { } を必要とするのに、サーブレットが異なるのはなぜですか?
カート.java
public void addItem(LineItem item) { String code = item.getProduct().getCode(); int quantity = item.getQuantity(); for (int i = 0; i < items.size(); i++) { LineItem lineItem = items.get(i); if (lineItem.getProduct().getCode().equals(code)) { lineItem.setQuantity(quantity); return; } } items.add(item); }
フォローできないのはitem.getProduct().getCode();
. この出力がどうなるかはよくわかりません。