01: // StrutsTestCase - a JUnit extension for testing Struts actions
02: // within the context of the ActionServlet.
03: // Copyright (C) 2002 Deryl Seale
04: //
05: // This library is free software; you can redistribute it and/or
06: // modify it under the terms of the Apache Software License as
07: // published by the Apache Software Foundation; either version 1.1
08: // of the License, or (at your option) any later version.
09: //
10: // This library is distributed in the hope that it will be useful,
11: // but WITHOUT ANY WARRANTY; without even the implied warranty of
12: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13: // Apache Software Foundation Licens for more details.
14: //
15: // You may view the full text here: http://www.apache.org/LICENSE.txt
16:
17: package examples;
18:
19: import org.apache.struts.action.*;
20:
21: import javax.servlet.http.HttpServletRequest;
22: import javax.servlet.http.HttpServletResponse;
23: import javax.servlet.http.HttpSession;
24:
25: public class LoginAction extends Action {
26:
27: public ActionForward execute(ActionMapping mapping,
28: ActionForm form, HttpServletRequest request,
29: HttpServletResponse response) {
30:
31: String username = ((LoginForm) form).getUsername();
32: String password = ((LoginForm) form).getPassword();
33:
34: ActionErrors errors = new ActionErrors();
35:
36: if ((!username.equals("deryl")) || (!password.equals("radar")))
37: errors.add("password", new ActionMessage(
38: "error.password.mismatch"));
39:
40: if (!errors.isEmpty()) {
41: saveErrors(request, errors);
42: return new ActionForward(mapping.getInput());
43: }
44:
45: HttpSession session = request.getSession();
46: session.setAttribute("authentication", username);
47:
48: // Forward control to the specified success URI
49:
50: return mapping.findForward("success");
51:
52: }
53:
54: }
|