Через 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; } }
|
Это сообщение отредактировал(а) lv151 - 24.2.2008, 20:22
|