📄 additemtocartcontroller.java
字号:
package org.springframework.samples.jpetstore.web.spring;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.samples.jpetstore.domain.Cart;
import org.springframework.samples.jpetstore.domain.Item;
import org.springframework.samples.jpetstore.domain.logic.PetStoreFacade;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.util.WebUtils;
/**
* @author Juergen Hoeller
* @since 30.11.2003
*/
public class AddItemToCartController implements Controller {
private PetStoreFacade petStore;
public void setPetStore(PetStoreFacade petStore) {
this.petStore = petStore;
}
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
Cart cart = (Cart) WebUtils.getOrCreateSessionAttribute(request.getSession(), "sessionCart", Cart.class);
String workingItemId = request.getParameter("workingItemId");
if (cart.containsItemId(workingItemId)) {
cart.incrementQuantityByItemId(workingItemId);
}
else {
// isInStock is a "real-time" property that must be updated
// every time an item is added to the cart, even if other
// item details are cached.
boolean isInStock = this.petStore.isItemInStock(workingItemId);
Item item = this.petStore.getItem(workingItemId);
cart.addItem(item, isInStock);
}
return new ModelAndView("Cart", "cart", cart);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -