📄 30d95a8ec69b001b15bbdb9313669cc1
字号:
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 + -