membercontroller.java.svn-base

来自「spring+hibernate做的网上订餐系统」· SVN-BASE 代码 · 共 75 行

SVN-BASE
75
字号
package com.pure.web.spring;

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

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.dao.DataAccessException;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.util.WebUtils;

import com.pure.domain.Member;
import com.pure.domain.logic.MemberFacade;

/**
 * 会员注册及修改个人资料
 * @author pure
 *
 */
public class MemberController extends SimpleFormController {
	protected final Log logger = LogFactory.getLog(getClass());

	private MemberFacade memberFacade;

	/**
	 * 初始化表单数据
	 */
	protected Object formBackingObject(HttpServletRequest request)
			throws Exception {
		Member member = null;
		MemberSession memberSession = (MemberSession) WebUtils.getSessionAttribute(request, "memberSession");
		if (memberSession != null) {
			member = memberSession.getMebmer();
			/**
			 * 单独保存密码,在会员不需修改密码时使用
			 */
			WebUtils.setSessionAttribute(request, "memberPassword", member.getPassword());
		} else {
			member = new Member();
			member.setSex("男");
		}
		return member;
	}

	/**
	 * 处理表单提交事件
	 */
	protected ModelAndView onSubmit(HttpServletRequest request,
			HttpServletResponse response, Object command, BindException errors)
			throws Exception {
		Member member = (Member) command;
		if ("".equals(member.getPassword()) || null == member.getPassword()) {
			member.setPassword((String) WebUtils.getSessionAttribute(request,"memberPassword"));
		}

		try {
			this.getMemberFacade().updateMember(member);
		} catch (DataAccessException e) {
			logger.error("会员修改资料失败");
		}
		return new ModelAndView(getSuccessView());
	}

	public MemberFacade getMemberFacade() {
		return memberFacade;
	}

	public void setMemberFacade(MemberFacade memberFacade) {
		this.memberFacade = memberFacade;
	}

}

⌨️ 快捷键说明

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