Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Обработка HTTP запроса


Автор: lv151 24.2.2008, 19:57
Через Action передаю имя юзера, как мне передать HashMap?

Код

package dummies.struts;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 * @author Mike Robinson
 *
 */
public class LoginAction extends Action 
{
    /**
     * Handles user's request for login
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @throws Exception
     * @return ActionForward
     */
    public ActionForward execute(    ActionMapping mapping,
                                    ActionForm form,
                                    HttpServletRequest request,
                                    HttpServletResponse response)
                                    throws Exception
    {
        // create a new LoginBean with valid users in it
        LoginBean lb = new LoginBean();
        
        [color=red]//request.setAttribute("password",lb); - делал  так, но думаю что не так.[/color]
        
        
        // check to see if this user/password combination are valid
        if(lb.validateUser(((LoginForm)form).getUserName(),((LoginForm)form).getPassword()))
        {
            request.setAttribute("userName",((LoginForm)form).getUserName());
            return (mapping.findForward("success"));
        }
        else    // username/password not validated
        {
            // create ActionError and save in the request
            ActionErrors errors = new ActionErrors();
            ActionError error = new ActionError("error.login.invalid");
            errors.add("login",error);
            saveErrors(request,errors);
            
            return (mapping.findForward("failure"));
        }
    }
}



Код

package dummies.struts;

import java.util.HashMap;

/**
 * @author Mike Robinson
 *
 */
public class LoginBean 
{
    private HashMap validUsers = new HashMap();
    
    /**
     * Constructor for LoginBean
     * Initializes the list of usernames/passwords
     */
    public LoginBean()
    {
        validUsers.put("Twinkle Toes","tt");
        validUsers.put("administrator","admin");
        validUsers.put("Barbara Smith","smitty");
    }
    
    /**
     * determine if the username/password combination are
     * present in the validUsers repository.
     * @param userName
     * @param password
     * @return boolean true if valid, false otherwise
     */
    public boolean validateUser(String userName, String password)
    {
        if(validUsers.containsKey(userName))
        {
            String thePassword = (String)validUsers.get(userName);
            if(thePassword.equals(password))
                return true;
        }
        return false;
    }
}


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)