📄 housecontroller.java
字号:
/*
* HouseController.java
*
* Created on 2007��5��29��, ����2:59
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package com.housesale.jsfbean;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.hibernate.Query;
import com.housesale.hibernate.Customer;
import com.housesale.hibernate.House;
import com.housesale.hibernate.HouseCheck;
import com.housesale.hibernate.HouseStyle;
import com.housesale.hibernate.dao.HouseDAO;
/**
*
* @author MSQ
*/
public class HouseController {
/** Creates a new instance of HouseController */
public HouseController() {
}
private House house;
private DataModel model;
private String detailUrl;
private HouseDAO getEntityManager() {
HouseDAO.initialize();
return new HouseDAO();
}
private int batchSize = 10;
private int firstItem = 0;
private String queryProperty;
private String queryValue;
private int itemCount = 0;
public DataModel getModel() {
return model;
}
public void setModel(DataModel model) {
this.model = model;
}
public String getQueryProperty() {
return queryProperty;
}
public void setQueryProperty(String queryProperty) {
this.queryProperty = queryProperty;
}
public String getQueryValue() {
return queryValue;
}
public void setQueryValue(String queryValue) {
this.queryValue = queryValue;
}
public void setItemCount(int itemCount) {
this.itemCount = itemCount;
}
public House getHouse() {
return house;
}
public void setHouse(House house) {
this.house = house;
}
public DataModel getDetailHouses() {
return model;
}
public void setDetailHouses(Collection<House> m) {
model = new ListDataModel(new ArrayList(m));
}
public String createSetup() {
this.house = new House();
this.house.setHouseId(0);
return "house_create";
}
public String create() {
try {
this.getEntityManager().save(house);
addSuccessMessage("House was successfully created.");
} catch (Exception ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
}
return "house_list";
}
public String detailSetup() {
setHouseFromRequestParam();
return "house_detail";
}
public String houseStyleImageSetup() {
setURL();
setHouseFromRequestParam();
return "houseStyleImage_detail";
}
public String buildingImageSetup() {
setURL();
setHouseFromRequestParam();
return "buildingImage_detail";
}
public String communityImageSetup() {
setURL();
setHouseFromRequestParam();
return "communityImage_detail";
}
public String editSetup() {
setHouseFromRequestParam();
return "house_edit";
}
public String edit() {
try {
this.getEntityManager().update(house);
addSuccessMessage("House was successfully updated.");
} catch (Exception ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
}
return "house_list";
}
public String destroy() {
try {
House house = getHouseFromRequestParam();
this.getEntityManager().delete(house);
addSuccessMessage("House was successfully deleted.");
} catch (Exception ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
} finally {
}
return "house_list";
}
public House getHouseFromRequestParam() {
House o = null;
try {
o = (House) model.getRowData();
o = this.getEntityManager().get(o.getHouseId());
} finally {
return o;
}
}
public void setHouseFromRequestParam() {
House house = getHouseFromRequestParam();
setHouse(house);
}
public String findHouses() {
Query q = null;
if (this.queryProperty.equals("houseStyle.styleId")
|| this.queryProperty.equals("houseId")) {
try {
Integer.valueOf(getQueryValue());
} catch (NumberFormatException e) {
addErrorMessage(e.getLocalizedMessage());
return "house_list";
}
q = this.getEntityManager().findByProperty(getQueryProperty(),
Integer.valueOf(getQueryValue()));
} else if (this.queryProperty.equals("all")) {
q = this.getEntityManager().getQuery("from House as o");
} else {
q = this.getEntityManager().findByProperty(getQueryProperty(),
getQueryValue());
}
QueryHouse(q);
return "house_list";
}
private void QueryHouse(Query q) {
List list = q.list();
this.setItemCount(list.size());
q.setMaxResults(batchSize);
q.setFirstResult(firstItem);
model = new ListDataModel(q.list());
this.getEntityManager().closeCurrentSession();
}
public String orderSetup() {
FacesContext facesContext = FacesContext.getCurrentInstance();
HttpSession session=((HttpServletRequest) facesContext
.getExternalContext().getRequest()).getSession();
Object sysUser = session.getAttribute("sysUser");
if(sysUser==null){
addErrorMessage("你还没有登录,请登录后再执行下一步的操作");
return "v_HouseInfo";
}
String userType = session.getAttribute("userType").toString();
if(userType.equals("manager")){
addErrorMessage("你是管理员不应该在这里操作,请到后台操作吧");
return "v_HouseInfo";
}
if(userType.equals("customer")){
HouseCheckController controller = (HouseCheckController) facesContext
.getApplication().createValueBinding("#{housecheck}").getValue(
facesContext);
Customer customer=(Customer)sysUser;
controller.setHousecheck(new HouseCheck());
controller.getHousecheck().setCheckId(0);
controller.getHousecheck().setCheckTime(new Date());
//controller.getHousecheck().setEndTime(new Date());
controller.getHousecheck().setCheckState("1");
controller.getHousecheck().setCustomer(customer);
controller.getHousecheck().setHouse(getHouseFromRequestParam());
controller.getHousecheck().setCheckPayment(controller.getHousecheck().getHouse().getHouseStyle().getPrice()/10);
}
return "customer_check";
}
public DataModel getHouses() {
setURL();
HouseDAO em = getEntityManager();
Query q = em.getQuery("from House as o where o.houseState='\u7A7A\u95F2'");
QueryHouse(q);
return model;
}
private void setURL() {
FacesContext facesContext = FacesContext.getCurrentInstance();
StringBuffer host = ((HttpServletRequest) facesContext
.getExternalContext().getRequest()).getRequestURL();
String str = host.substring(0, host.lastIndexOf("/"));
str = str.substring(0, str.lastIndexOf("/") + 1);
this.setDetailUrl(str);
}
public static void addErrorMessage(String msg) {
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
msg, msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage(null, facesMsg);
}
public static void addSuccessMessage(String msg) {
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO,
msg, msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage("successInfo", facesMsg);
}
public House findHouse(Integer id) {
House o = null;
try {
o = (House) getEntityManager().get(id);
} finally {
return o;
}
}
public javax.faces.model.SelectItem[] getStyleIDs() {
SelectItem select[] = new SelectItem[0];
try {
List<HouseStyle> l = (List<HouseStyle>) this.getEntityManager()
.getQuery("from HouseStyle as o").list();
select = new SelectItem[l.size()];
int i = 0;
for (HouseStyle x : l) {
select[i++] = new SelectItem(x, x.getStyleName());
}
} finally {
return select;
}
}
public int getItemCount() {
return this.itemCount;
}
public int getFirstItem() {
return firstItem;
}
public int getLastItem() {
int size = getItemCount();
return firstItem + batchSize > size ? size : firstItem + batchSize;
}
public int getBatchSize() {
return batchSize;
}
public String next() {
if (firstItem + batchSize < getItemCount()) {
firstItem += batchSize;
}
return findHouses();
}
public String prev() {
firstItem -= batchSize;
if (firstItem < 0) {
firstItem = 0;
}
return findHouses();
}
public String getDetailUrl() {
return detailUrl;
}
public void setDetailUrl(String detailUrl) {
this.detailUrl = detailUrl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -