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

📄 userform.java

📁 this is for appfuse1.8 source using strut 1.x, spring and hibernate.
💻 JAVA
字号:
package org.appfuse.webapp.action;import java.io.Serializable;import java.util.Iterator;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.commons.lang.StringUtils;import org.appfuse.Constants;import org.appfuse.model.Role;import org.appfuse.model.User;import org.appfuse.service.RoleManager;import org.appfuse.service.UserExistsException;import org.appfuse.util.ConvertUtil;import org.appfuse.util.StringUtil;import org.appfuse.webapp.util.RequestUtil;/** * JSF Page class to handle editing a user with a form. * * @author mraible */public class UserForm extends BasePage implements Serializable {    private RoleManager roleManager;    private String from;    private String username;    private User user = new User();    private Map availableRoles;    private String[] userRoles;        public void setUsername(String username) {        this.username = username;    }    public String getUsername() {        return username;    }    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    public void setRoleManager(RoleManager roleManager) {        this.roleManager = roleManager;    }    public String cancel() {        if (log.isDebugEnabled()) {            log.debug("Entering 'cancel' method");        }        if (!StringUtils.equals(getParameter("from"), "list")) {            return "mainMenu";        } else {            return "cancel";        }    }    public String edit() {        HttpServletRequest request = getRequest();        // if a user's username is passed in        if (username != null) {            // lookup the user using that id            user = userManager.getUser(username);        } else if (username == null) {            user = userManager.getUser(request.getRemoteUser());        } else {            user = new User();            user.addRole(new Role(Constants.USER_ROLE));        }        if (user.getUsername() != null) {            user.setConfirmPassword(user.getPassword());            // if user logged in with a cookie, display a warning that they            // can't change passwords            if (log.isDebugEnabled()) {                log.debug("checking for cookieLogin...");            }            if (getSession().getAttribute("cookieLogin") != null) {                log.trace("User '" + user.getUsername() + "' logged in with cookie");                addMessage("userProfile.cookieLogin");            }        }        return "editProfile";    }    public String save() {        String password = user.getPassword();        String originalPassword = getParameter("userForm:originalPassword");        if (StringUtils.equals(getParameter("encryptPass"), "true") ||                !StringUtils.equals(password, originalPassword)) {            String algorithm =                (String) getConfiguration().get(Constants.ENC_ALGORITHM);            if (algorithm == null) { // should only happen for test case                log.debug("assuming testcase, setting algorigthm to 'SHA'");                algorithm = "SHA";            }            user.setPassword(StringUtil.encodePassword(password, algorithm));        }                // workaround for plain ol' HTML input tags that don't seem to set        // properties on the managed bean        setUserRoles(getRequest().getParameterValues("userForm:userRoles"));        for (int i = 0; (userRoles != null) && (i < userRoles.length); i++) {            String roleName = userRoles[i];            user.addRole(roleManager.getRole(roleName));        }        try {            userManager.saveUser(user);        } catch (UserExistsException e) {            log.warn(e.getMessage());            addError("errors.existing.user",                     new Object[] { user.getUsername(), user.getEmail() });            return "editProfile";        }        if (!StringUtils.equals(getParameter("from"), "list")) {            HttpSession session = getSession();            HttpServletRequest request = getRequest();            session.setAttribute(Constants.USER_KEY, user);            // update the user's remember me cookie if they didn't login            // with a cookie            if ((RequestUtil.getCookie(request, Constants.LOGIN_COOKIE) != null) &&                    (session.getAttribute("cookieLogin") == null)) {                // delete all user cookies and add a new one                userManager.removeLoginCookies(user.getUsername());                String autoLogin =                    userManager.createLoginCookie(user.getUsername());                RequestUtil.setCookie(getResponse(),                                      Constants.LOGIN_COOKIE, autoLogin,                                      request.getContextPath());            }            // add success messages            addMessage("user.saved");            // return a forward to main Menu            return "mainMenu";        } else {            // add success messages            if ("".equals(getParameter("userForm:version"))) {                addMessage("user.added", user.getFullName());                sendUserMessage(user,                                getText("newuser.email.message",                                              user.getFullName()),                                RequestUtil.getAppURL(getRequest()));                return "list"; // return to list screen            } else {                addMessage("user.updated.byAdmin", user.getFullName());                return "editProfile"; // return to current page            }        }    }    public String delete() {        userManager.removeUser(getUser().getUsername());        addMessage("user.deleted", getUser().getFullName());        return "list";    }    /**     * Convenience method to determine if the user came from the list screen     * @return String     */    public String getFrom() {        if ((username != null) || (getParameter("editUser:add") != null) ||                ("list".equals(getParameter("from")))) {            return "list";        }        return "";    }    // Form Controls ==========================================================    public Map getAvailableRoles() {        if (availableRoles == null) {            List roles =                (List) getServletContext().getAttribute(Constants.AVAILABLE_ROLES);            availableRoles = ConvertUtil.convertListToMap(roles);        }        return availableRoles;    }    public String[] getUserRoles() {        userRoles = new String[user.getRoles().size()];        int i = 0;        if (userRoles.length > 0) {            for (Iterator it = user.getRoles().iterator(); it.hasNext();) {                Role role = (Role) it.next();                userRoles[i] = role.getName();                i++;            }        }        return userRoles;    }    public void setUserRoles(String[] userRoles) {        this.userRoles = userRoles;    }        public String getCountry() {        return getUser().getAddress().getCountry();    }        // for some reason, the country drop-down won't do     // getUser().getAddress().setCountry(value)    public void setCountry(String country) {        getUser().getAddress().setCountry(country);    }}

⌨️ 快捷键说明

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