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

📄 30d95a8ec69b001b15bbdb9313669cc1

📁 用jsf实现cd商店的程序
💻
字号:
package com.tangjun.web.vo;

import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import com.tangjun.model.exception.MyException;
import com.tangjun.web.pojo.CD;
import javax.faces.context.FacesContext;

import org.apache.commons.beanutils.BeanUtils;

public class CDBean extends CDBaseBean
{
	private CD						cd				= new CD();

	private DataModel				cds				= new ListDataModel();

	private StoreManageDelegate		store			= new StoreManageDelegate();

	private List<Map<String,CD>>	items			= new ArrayList<Map<String,CD>>();

	private Map<String,CD>			itemMap			= new TreeMap<String,CD>();

	private String					sortByProperty	= "specialTitle";

	public Collection getItems()
	{
		return items;
	}

	public DataModel getCds() throws MyException
	{
		// store.findTitleAsc()
		// this.getCdService().browse()
		cds.setWrappedData(findTitleAsc());
		return cds;
	}

	public void setCds(DataModel cds)
	{
		this.cds = cds;
	}

	/**
	 * 为客户保存购物车信息
	 * @return
	 */
	public String clientAdd()
	{
		FacesContext context = FacesContext.getCurrentInstance();
		Map map = context.getExternalContext().getRequestParameterMap();

		String specialTitle = (String)map.get("specialTitle");
		String artist = (String)map.get("artist");
		float price = Float.parseFloat((String)map.get("price"));
		CD cd = new CD(specialTitle,artist,price);
		itemMap.put(cd.getSpecialTitle(),cd);
		items.add(itemMap);
		return "add";
	}

	public String remove()
	{
		FacesContext context = FacesContext.getCurrentInstance();
		Map map = context.getExternalContext().getRequestParameterMap();

		String specialTitle = (String)map.get("specialTitle");
		CD cd = (CD)itemMap.get(specialTitle);
		itemMap.remove(cd.getSpecialTitle());
		items.remove(itemMap);
		return "remove";
	}

	/**
	 * 以下代码是页面操作
	 */
	public String logoutAction()
	{
		this.setCds(null);
		return "Logout";
	}

	public void add()
	{
		store.addCD((CD)this.cds.getRowData());
	}

	public void delete()
	{
		store.delCD(((CD)this.cds.getRowData()).getId());
	}

	public void update()
	{
		store.updateCD((CD)this.cds.getRowData());
	}

	public void browse()
	{
		cds.setWrappedData(store.findTitleAsc());
	}

	/**
	 * 以下代码为排序代码
	 * @return String
	 */
	public String sortTitleAsc()
	{
		cds.setWrappedData(store.findTitleAsc());
		return "asc";
	}

	public String sortTitleDesc()
	{
		cds.setWrappedData(store.findTitleDesc());
		return "asc";
	}

	public String sortArtistAsc()
	{
		cds.setWrappedData(store.findArtistAsc());
		return "asc";
	}

	public String sortArtistDesc()
	{
		cds.setWrappedData(store.findArtistDesc());
		return "asc";
	}

	public CD getCd()
	{
		return cd;
	}

	public void setCd(CD cd)
	{
		this.cd = cd;
	}

	// 升序排序
	private transient final Comparator	propertyAscEndingComparator	= new Comparator()
																	{
																		public int compare(
																				Object object1,
																				Object object2)
																		{

																			try
																			{
																				String property1 = BeanUtils
																						.getProperty(
																								object1,
																								CDBean.this.sortByProperty);
																				String property2 = BeanUtils
																						.getProperty(
																								object2,
																								CDBean.this.sortByProperty);
																				return property1
																						.toLowerCase()
																						.compareTo(
																								property2
																										.toLowerCase());
																			}
																			catch(IllegalAccessException e)
																			{
																				// TODO 自动生成 catch 块
																				e.printStackTrace();
																				return 0;
																			}
																			catch(InvocationTargetException e)
																			{
																				// TODO 自动生成 catch 块
																				e.printStackTrace();
																				return 0;
																			}
																			catch(NoSuchMethodException e)
																			{
																				// TODO 自动生成 catch 块
																				e.printStackTrace();
																				return 0;
																			}
																		}
																	};

	// 降序排序
	private transient final Comparator	propertyDesEndingComparator	= new Comparator()
																	{
																		public int compare(
																				Object object1,
																				Object object2)
																		{

																			try
																			{
																				String property1 = BeanUtils
																						.getProperty(
																								object1,
																								CDBean.this.sortByProperty);
																				String property2 = BeanUtils
																						.getProperty(
																								object2,
																								CDBean.this.sortByProperty);
																				return property2
																						.toLowerCase()
																						.compareTo(
																								property1
																										.toLowerCase());
																			}
																			catch(IllegalAccessException e)
																			{
																				// TODO 自动生成 catch 块
																				e.printStackTrace();
																				return 0;
																			}
																			catch(InvocationTargetException e)
																			{
																				// TODO 自动生成 catch 块
																				e.printStackTrace();
																				return 0;
																			}
																			catch(NoSuchMethodException e)
																			{
																				// TODO 自动生成 catch 块
																				e.printStackTrace();
																				return 0;
																			}
																		}
																	};

	// 按艺术家升序排序
	public List findArtistAsc()
	{
		sortByProperty = "title";
		sort(propertyAscEndingComparator);
		return cds;
	}

	// 按艺术家降序排序
	public List findArtistDesc()
	{
		sortByProperty = "title";
		sort(propertyDesEndingComparator);
		return cds;
	}

	// 按标题升序排序
	public List findTitleAsc()
	{
		sortByProperty = "title";
		sort(propertyAscEndingComparator);
		return cds;
	}

	// 按标题降序排序
	public List findTitleDesc()
	{
		sortByProperty = "title";
		sort(propertyDesEndingComparator);
		return cds;
	}

	private void sort(Comparator comparator)
	{
		Collections.sort(cds,comparator);
	}

}

⌨️ 快捷键说明

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