Action에 대하여
. Action클래스는 org.apache.struts.action.Action클래스를 상속 받아서 작성하며, 실제 프로그램 수행은 execute() 메서드에 의해 이뤄진다.
. 사용자가 GET/POST방식으로 넘겨준 파라미터들을 분석한다.
. 자신이 수행할 비즈니스 로직을 구현한 Model을 호출한다.
struts-config.xml문서 수정
<action path="/dataForm" forward="/form.jsp"/> <action path="/data" type="st1.DataTest1" validate="false"> <forward name="result" path="/resTest.jsp"/> </action> |
다음이 바로 웹상에서 http://localhost:8080/st1/dataForm.st 했을 때에 보여질 form.jsp이다.
<HTML> <HEAD> <TITLE> New Document </TITLE> <style type="text/css"> input,textarea,select {background-color:#ffd700;border:1 solid #d2691e;color:#4b0082}; .ff{background-color:#ffcc33}; .fa{background-color:#fae78b}; </style> </HEAD> <BODY> <form method="post" action="data.st"> <table width="450" cellspacing="0" cellpadding="4" border="1" bordercolordark="#cc9900" bordercolorlight="#ffff66"> <tr> <td width="25%" align="center" class="ff"> <font size="2"><b>이름</b></font> </td> <td class="fa"> <input type="text" name="name"> </td> </tr> <tr> <td align="center" class="ff"> <font size="2"><b>ID</b></font> </td> <td class="fa"> <input type="text" name="id"> </td> </tr> <tr> <td align="center" class="ff"> <font size="2"><b>Password</b></font> </td> <td class="fa"> <input type="password" name="pwd" maxlength="12" size="15"> </td> </tr> <tr> <td width="25%" align="center" class="ff"> </td> <td class="fa"> <input type="submit" value="정보 보내기"> <input type="reset" value="다시 입력"> </td> </tr> </table> </form> </BODY> </HTML> |
다음은 form객체의 action=”data.st”에 의해 입력된 정보들이 전달받아 처리하는 객체이다.
package st1; import! org.apache.struts.action.*; import! javax.servlet.http.*; public class DataTest1 extends Action{ public ActionForward execute(ActionMapping m, ActionForm f, HttpServletRequest req,HttpServletResponse res)throws Exception{
String s_name = req.getParameter("name"); String s_id = req.getParameter("id"); String s_pwd = req.getParameter("pwd"); ActionForward forward = null; if(s_name != null && s_id != null && s_pwd != null){ HttpSession session = req.getSession(); session.setAttribute("s_name",s_name); session.setAttribute("s_id",s_id); session.setAttribute("s_pwd",s_pwd); forward = m.findForward("result"); //ActionMapping객체에서 Forward검색 } return forward; } } |
결과를 알리는 forward객체!
<%@ page contentType="text/html;charset=euc-kr"%> <HTML> <HEAD> </HEAD> <BODY> <h1>입력 정보</h1> 이름 : <%=session.getAttribute("s_name")%><br> ID : <%=session.getAttribute("s_id")%><br> </BODY> </HTML> |
이제 흐름은 조금 파악 되었으리라 믿는다.
다음 시간에는 실제로 쓰이는 MVC기반의 예제로 접근해 보도록 하자!