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

📄 adressoperation.java

📁 基于struts+hibernate的电子商务网站。可运行。数据库mysql
💻 JAVA
字号:
package tarena.action;

import java.util.Set;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;

import tarena.dao.CountryareaDAO;
import tarena.dao.ReceiveaddressDAO;
import tarena.dao.UserDAO;
import tarena.entity.Countryarea;
import tarena.entity.Receiveaddress;
import tarena.entity.User;
import tarena.form.AddressForm;
import tarena.global.CookieOperate;
import tarena.global.PublicParameter;
import tarena.global.Transform;

@SuppressWarnings("unchecked")
public class AdressOperation extends MappingDispatchAction {
	/**
	 * 查询显示收货地址
	 */	
	public ActionForward usercpaddress(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//查询所有的收货地址
		User user = new UserDAO().findUserByUsername(CookieOperate.FindCookie(PublicParameter.cookie_user, request.getCookies()).getValue());
		Set<Receiveaddress> receiveaddress = user.getReceiveaddresses();
		System.out.println(receiveaddress);
		request.setAttribute("receiveaddress", receiveaddress);
		
		//查询指定id的收货地址
		int id = Transform.StringToInteger(request.getParameter("aid"));
		try {
			if(id != -1){
				ReceiveaddressDAO rdao = new ReceiveaddressDAO();
				Receiveaddress address = rdao.findById(id);
				request.setAttribute("address", address);
			}
		} catch (RuntimeException e) {}		
		
		return mapping.findForward("usercpaddress");
	}
	/**
	 * 修改收货地址
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward modifyAddress(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//查询指定id的收货地址
		int id = Transform.StringToInteger(request.getParameter("tbId"));
		//表单数据
		AddressForm aform = (AddressForm)form;
		//数据访问对象
		ReceiveaddressDAO rdao = new ReceiveaddressDAO();
		CountryareaDAO cdao = new CountryareaDAO();
		//查找国家地区对象
		Countryarea province = cdao.findById(Transform.StringToInteger(aform.getDdlProvince()));
		Countryarea area = cdao.findById(Transform.StringToInteger(aform.getDdlCity()));
		Countryarea city = cdao.findById(Transform.StringToInteger(aform.getDdlCounty()));		
		//收货地址对象
		Receiveaddress address = rdao.findById(id);

		//如果参数传递错误,转向错误页面
		if(id==-1|| province==null || area==null || city==null || address==null){
			Transform.setAttribute(request, "参数错误 -", "送货地址修改", "参数错误!", ""); 
			return mapping.findForward("message");
		}
		
		
		//修改属性
		address.setAddress(aform.getTbAddress());
		address.setReceivename(aform.getTbName());
		address.setProvince(province);
		address.setCity(city);
		address.setArea(area);
		address.setIsuserdel(new Byte(1+""));
		address.setMobile(aform.getTbMobile());
		address.setPhone(aform.getTbPhone());
		address.setZip(aform.getTbZip());
		rdao.save(address);
		
		//显示收货地址
		return usercpaddress(mapping, form, request, response);
	}
	/**
	 * 删除收货地址
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward deleteAddress(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//查询指定id的收货地址
		int id = Transform.StringToInteger(request.getParameter("aid"));
		if(id==-1){
			Transform.setAttribute(request, "参数错误 -", "送货地址修改", "参数错误!", ""); 
		}
		ReceiveaddressDAO rdao = new ReceiveaddressDAO();
		Receiveaddress radrs = rdao.findById(id);
		rdao.delete(radrs);	
		//显示收货地址
		return usercpaddress(mapping, form, request, response);
	}
	/**
	 * 保存收货地址
	 */
	public ActionForward send_address(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		//表单数据
		AddressForm aform = (AddressForm)form;
		//数据访问对象		
		ReceiveaddressDAO addressDAO = new ReceiveaddressDAO();
		CountryareaDAO cdao = new CountryareaDAO();
		
		//收货地址对象
		Receiveaddress address = new Receiveaddress();
		//查找国家地区对象
		Countryarea province = cdao.findById(Transform.StringToInteger(aform.getDdlProvince()));
		Countryarea area = cdao.findById(Transform.StringToInteger(aform.getDdlCity()));
		Countryarea city = cdao.findById(Transform.StringToInteger(aform.getDdlCounty()));
		
		// 保存收货地址		 
		address.setAddress(aform.getTbAddress());
		address.setReceivename(aform.getTbName());
		address.setProvince(province);
		address.setCity(city);
		address.setArea(area);
		address.setIsuserdel(new Byte(1+""));
		address.setMobile(aform.getTbMobile());
		address.setPhone(aform.getTbPhone());
		address.setZip(aform.getTbZip());
		try {
			address.setUser(new UserDAO().findUserByUsername(CookieOperate.FindCookie(PublicParameter.cookie_user, request.getCookies()).getValue()));
		} catch (RuntimeException e) {
			// 如果获取用户异常
			Transform.setAttribute(request, "用户错误", "不存在此用户", "不存在此用户", "");
			return mapping.findForward("message");
		}
		addressDAO.save(address);		
		//显示收货地址
		return usercpaddress(mapping, form, request, response);
	}
}

⌨️ 快捷键说明

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