📄 appactionlistener.java
字号:
package pizzaria;
import java.util.Map;
import javax.faces.FactoryFinder;
import javax.faces.application.Application;
import javax.faces.application.ApplicationFactory;
import javax.faces.component.UICommand;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;
import javax.servlet.ServletContext;
public class AppActionListener implements ActionListener {
public void processAction(ActionEvent event) {
FacesContext facesContext = FacesContext.getCurrentInstance();
String localValue = (String) ((UICommand) event.getComponent()).getValue();
if ("Buy".equals(localValue)) {
String productId = (String)
facesContext.getExternalContext().getRequestParameterMap().get("myForm:productId");
Map sessionMap = facesContext.getExternalContext().getSessionMap();
ShoppingCartBean cart = (ShoppingCartBean) sessionMap.get("shoppingCartBean");
if (cart==null) {
cart = new ShoppingCartBean();
sessionMap.put("shoppingCartBean", cart);
}
ProductBean product = getDatabaseUtil().getProductDetails(productId);
ShoppingItemBean shoppingItem = new
ShoppingItemBean(product.getId(), product.getName(), product.getPrice(), 1);
cart.addShoppingItem(shoppingItem);
}
else if ("Pay".equals(localValue)) {
// insert a record into the database
OrderBean order = (OrderBean) getValueBinding("#{orderBean}").getValue(facesContext);
ShoppingCartBean cart = (ShoppingCartBean)
getValueBinding("#{shoppingCartBean}").getValue(facesContext);
if (cart!=null && order!=null) {
getDatabaseUtil().insertOrder(order, cart);
// empty shopping cart
cart.removeShoppingItems();
}
}
}
private ValueBinding getValueBinding(String valueRef) {
ApplicationFactory factory =
(ApplicationFactory)FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
Application application = factory.getApplication();
return application.createValueBinding(valueRef);
}
private DatabaseUtil getDatabaseUtil() {
FacesContext facesContext = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext)
facesContext.getExternalContext().getContext();
return (DatabaseUtil) servletContext.getAttribute("DATABASE_UTIL");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -