package com.ordobill.webapp.action;
import java.util.ArrayList;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ordobill.webapp.beans.Help;
import com.ordobill.webapp.common.SqlMapClientManager;
import com.ordobill.webapp.common.Util;
public class HelpAction extends DispatchAction {
private Log log = LogFactory.getFactory().getInstance(this.getClass().getName());
private SqlMapClient sqlMap = SqlMapClientManager.getSqlMapClient();
private Util util = new Util ();
//----------list page---------//
//List.jsp에서 발생하는 Action을 담당
public ActionForward list(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
//list라는 이름을 가진 ActionForward 메서드를 생성함
Help helpForm = (Help)form; //import 받은 Help.java를 helpForm이라는 이름에 담아줌 (Help.java = helpForm)
HttpSession session = request.getSession(); //-----대리님께 다시 설명 부탁하기
int totcount = (Integer)sqlMap.queryForObject("help.listCount",helpForm);
//help.xml에서 정의 된 list라는 이름의 select 쿼리문을 가져와서 Help.java의 속성을 가진 ArrayList로 형변환하여 helpList라는 이름의 Help.java ArrayList에 담아줌
//sqlMap.queryForList() -> 일반적으로 많이 사용하는 방식으로 returnClass를 list 로 반환한다.
String pagingHtml = util.getPagingHtml(request,totcount, 10,helpForm.getPageNo(), 10);
helpForm.setStrnum(util.sStartRow);
helpForm.setEndnum(util.sEndRow);
ArrayList<Help> helpList = (ArrayList<Help>)sqlMap.queryForList("help.list",helpForm);
request.setAttribute("pagingHtml", pagingHtml);
request.setAttribute("helpForm", helpForm);
request.setAttribute("helpList", helpList);
request.setAttribute("totcount",totcount);
//36번째 줄에서 정의된 helpList를 "helpList"라는 이름으로 setAttribute에 담아줌
return mapping.findForward("list"); //struts-help.xml에 list라는 포워드명을 찾아 이동
}
//----------list page---------//
//List.jsp에서 발생하는 Action을 담당
public ActionForward newlist(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
//list라는 이름을 가진 ActionForward 메서드를 생성함
Help helpForm = (Help)form; //import 받은 Help.java를 helpForm이라는 이름에 담아줌 (Help.java = helpForm)
HttpSession session = request.getSession(); //-----대리님께 다시 설명 부탁하기
int totcount = (Integer)sqlMap.queryForObject("help.listCount",helpForm);
//help.xml에서 정의 된 list라는 이름의 select 쿼리문을 가져와서 Help.java의 속성을 가진 ArrayList로 형변환하여 helpList라는 이름의 Help.java ArrayList에 담아줌
//sqlMap.queryForList() -> 일반적으로 많이 사용하는 방식으로 returnClass를 list 로 반환한다.
String pagingHtml = util.getPagingHtml(request,totcount, 10,helpForm.getPageNo(), 10);
helpForm.setStrnum(util.sStartRow);
helpForm.setEndnum(util.sEndRow);
ArrayList<Help> helpList = (ArrayList<Help>)sqlMap.queryForList("help.list",helpForm);
request.setAttribute("pagingHtml", pagingHtml);
request.setAttribute("helpForm", helpForm);
request.setAttribute("helpList", helpList);
request.setAttribute("totcount",totcount);
//36번째 줄에서 정의된 helpList를 "helpList"라는 이름으로 setAttribute에 담아줌
return mapping.findForward("newlist"); //struts-help.xml에 list라는 포워드명을 찾아 이동
}
//----------view,update page---------//
//update 및 view에서 데이터를 가져오고 업뎃 시켜주는 Action을 담당
public ActionForward view(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
//view라는 이름을 가진 ActionForward 메서드를 생성
Help helpForm = (Help)form; //import 받은 Help.java를 helpForm이라는 이름에 담아줌 (Help.java = helpForm)
String result = helpForm.getMode(); //helpForm(Help.java)에 있는 Mode 변수를 가져와 result라는 String객체를 생성함.
ArrayList<Help> helpList = (ArrayList<Help>)sqlMap.queryForList("help.view",helpForm);
//Help.xml에서 정의된 view라는 이름의 select 쿼리문을 가져와서 Help.java의 속성을 지닌 ArrayList로 형변환하여 helpList라는 이름으로 담아줌
Help _Help = new Help();// ArrayList 배열에 들어가는 데이터가 무조건 하나 이기 때문에 ArrayList 를 사용 할필요가 없어 Help를 새로 만듬
_Help = helpList.get(0);// ArrayList 하나 잇는 데이터를 가져와서 Help에 넣어줌
request.setAttribute("helpList", _Help); //60,61번째 줄에서 정의된 _Help를 "helpList"라는 이름으로 setAttribute에 담아줌
return mapping.findForward(result); //result라는 string객체를 struts-help.xml로 포워딩시켜줌
}
//----------view,update page---------//
//update 및 view에서 데이터를 가져오고 업뎃 시켜주는 Action을 담당
public ActionForward newview(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
//view라는 이름을 가진 ActionForward 메서드를 생성
Help helpForm = (Help)form; //import 받은 Help.java를 helpForm이라는 이름에 담아줌 (Help.java = helpForm)
String result = helpForm.getMode(); //helpForm(Help.java)에 있는 Mode 변수를 가져와 result라는 String객체를 생성함.
ArrayList<Help> helpList = (ArrayList<Help>)sqlMap.queryForList("help.view",helpForm);
//Help.xml에서 정의된 view라는 이름의 select 쿼리문을 가져와서 Help.java의 속성을 지닌 ArrayList로 형변환하여 helpList라는 이름으로 담아줌
Help _Help = new Help();// ArrayList 배열에 들어가는 데이터가 무조건 하나 이기 때문에 ArrayList 를 사용 할필요가 없어 Help를 새로 만듬
_Help = helpList.get(0);// ArrayList 하나 잇는 데이터를 가져와서 Help에 넣어줌
request.setAttribute("helpList", _Help); //60,61번째 줄에서 정의된 _Help를 "helpList"라는 이름으로 setAttribute에 담아줌
return mapping.findForward(result); //result라는 string객체를 struts-help.xml로 포워딩시켜줌
}
//----------input page---------//
public ActionForward insert(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
//insert라는 이름을 가진 actionforward 메서드를 생성함
Help helpForm = (Help)form; //import받은 help.java를 helpForm이라는 이름에 담아줌 (help.java = helpForm)
helpForm.setHelpCom(helpForm.getHelpCom().replace("\r\n", "<br>"));
//System.out.println("HelpSub--->"+helpForm.getHelpSub());
//System.out.println("HelpCom--->"+helpForm.getHelpCom());
sqlMap.insert("help.helpInsert", helpForm);
//sqlMap.insert -> insert 구문안에 포함된 서브 select 문의 결과를 반환한다. 이를테면 seq 값이라든가... 그러나 resultClass 를 지정해야 반환하면 아닐 경우 null를 반환한다.
return mapping.findForward("insert");//struts-help.xml에 insert라는 포워드명을 찾아 이동
}
//update com.ordobill.webapp.action.update
public ActionForward update(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
Help helpForm = (Help)form;// view 단 데이터를 담아놓는 model
//ArrayList<Help> helpList = (ArrayList<Help>)sqlMap.queryForList("help.helpUpdate",helpForm);// oracleDB 연결
int result = sqlMap.update("help.helpUpdate", helpForm);
//sqlMap.update() -> 업데이트 된 row 수를 int로 반환
return mapping.findForward("update");
}
//----------view-delete page---------//
public ActionForward delete(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
Help helpForm = (Help)form;
sqlMap.delete("help.helpDelete", helpForm);
//sqlMap.delete() -> 삭제된 row 수를 int로 반환
return mapping.findForward("delete");
}
}