signupaction.java

来自「this is for appfuse1.8 source using stru」· Java 代码 · 共 92 行

JAVA
92
字号
package org.appfuse.webapp.action;import java.util.ArrayList;import java.util.List;import org.appfuse.Constants;import org.appfuse.model.User;import org.appfuse.util.StringUtil;import org.appfuse.service.UserExistsException;import org.appfuse.webapp.util.RequestUtil;import com.opensymphony.webwork.ServletActionContext;public class SignupAction extends BaseAction {    private User user;    private String cancel;        public void setCancel(String cancel) {        this.cancel = cancel;    }    public void setUser(User user) {        this.user = user;    }        public User getUser() {        return user;    }    public String execute() {        if (cancel != null) {            return CANCEL;        }        if (ServletActionContext.getRequest().getMethod().equals("GET")) {            return INPUT;        }        return SUCCESS;    }        public String doDefault() {        return INPUT;    }        public String save() throws Exception {        String algorithm =            (String) getConfiguration().get(Constants.ENC_ALGORITHM);        if (algorithm == null) { // should only happen for test case            if (log.isDebugEnabled()) {                log.debug("assuming testcase, setting algorithm to 'SHA'");            }            algorithm = "SHA";        }                user.setPassword(StringUtil.encodePassword(user.getPassword(), algorithm));        user.setEnabled(Boolean.TRUE);                // Set the default user role on this new user        user.addRole(roleManager.getRole(Constants.USER_ROLE));        try {            userManager.saveUser(user);        } catch (UserExistsException e) {            log.warn(e.getMessage());            List args = new ArrayList();            args.add(user.getUsername());            args.add(user.getEmail());            addActionError(getText("errors.existing.user", args));            // redisplay the unencrypted passwords            user.setPassword(user.getConfirmPassword());            return INPUT;        }        // Set cookies for auto-magical login ;-)        String loginCookie = userManager.createLoginCookie(user.getUsername());        RequestUtil.setCookie(ServletActionContext.getResponse(),                               Constants.LOGIN_COOKIE, loginCookie,                              ServletActionContext.getRequest().getContextPath());        saveMessage(getText("user.registered"));        getSession().setAttribute(Constants.REGISTERED, Boolean.TRUE);        // Send an account information e-mail        message.setSubject(getText("signup.email.subject"));        sendUserMessage(user, getText("signup.email.message"),                         RequestUtil.getAppURL(getRequest()));        return SUCCESS;    }}

⌨️ 快捷键说明

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