⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 producthandlernotree.java~

📁 使用EJB实现的网上商城
💻 JAVA~
字号:
package com.jdon.estore.web.catalog;

import com.jdon.strutsutil.*;
import com.jdon.strutsutil.file.UploadAction;
import com.jdon.controller.model.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.jdon.controller.events.EventModel;
import com.jdon.controller.events.Event;

import com.jdon.estore.catalog.ProductManagerLocal;
import com.jdon.estore.catalog.CatalogManagerLocal;
import com.jdon.estore.FrameworkServices;
import com.jdon.bussinessproxy.ServiceServerFactory;
import com.jdon.bussinessproxy.EJBDefinition;
import com.jdon.controller.cache.CacheFactory;

import com.jdon.estore.model.*;
import com.jdon.util.Debug;
import java.util.*;

public class ProductHandler implements ModelHandler {
  private final static String module = ProductHandler.class.getName();

  private final static ServiceServerFactory sf = ServiceServerFactory.
      getInstance();
  protected final static CacheFactory cacheFactory = CacheFactory.getInstance();

  public ModelHandler newInstance() {
    return new ProductHandler();
  }

  public ModelForm initForm(HttpServletRequest request) throws Exception{

    CatalogManagerLocal catalogManager = (CatalogManagerLocal) sf.getService(
        FrameworkServices.CatalogEJB, request);

    int AllCount = catalogManager.getCategoryAllCount();
    PageIterator pageIterator = catalogManager.getCategories(0, AllCount);

    ProductForm form = new ProductForm();
    List labels = new ArrayList(pageIterator.getSize());
    List values = new ArrayList(pageIterator.getSize());
    labels.add("");
    values.add("");
    while (pageIterator.hasNext()) {
      String catId = (String) pageIterator.next();
      //首先从缓存中获取
      Category model = (Category) cacheFactory.getObect(catId);
      if (model == null) {
        model = catalogManager.getCategoryById(catId);
        if (model.CACHEABLE) {
          cacheFactory.putObect(catId, model);
        }
      }
      labels.add(model.getName());
      values.add(model.getCatId());
    }
    pageIterator.reset();

    form.setLabels((String[])labels.toArray(new String[0]));
    form.setValues((String[])values.toArray(new String[0]));

    return  form;

  }

  public Model findModelByKey(String keyValue, HttpServletRequest request) throws Exception{
    ProductManagerLocal productManager = (ProductManagerLocal) sf.getService(
        FrameworkServices.ProductEJB, request);
    return productManager.getProductById(keyValue);

  }

  public void serviceAction(EventModel em, HttpServletRequest request) throws
      java.lang.Exception {
    ProductManagerLocal productManager = (ProductManagerLocal) sf.getService(
        FrameworkServices.ProductEJB, request);

      byte[] data = (byte[]) UploadAction.getUploadData(request);
      if (data != null) {
        Product product = (Product) em.getModel();
        product.setImage(data);
      }

    try {
      switch (em.getActionType()) {
        case Event.CREATE:
          productManager.createProduct(em);
          break;
        case Event.EDIT:
          productManager.updateProduct(em);
          break;
        case Event.DELETE:
          productManager.deleteProduct(em);
          break;
      }
    } catch (Exception ex) {
      throw new Exception("System operation Error:" + ex);
    }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -