앞서 쓰기를 코딩하셨으면 이제는 쓰기화면에서 [확인] 버튼을 눌르면 DB연동까지 해보겠습니다
<참조>
앞에서 코딩한거 중에서
-----------------------------------------------------------------------------
<body>
<form action="smartReg.action" method="post">
<textarea name="ir1" id="ir1" style="width:450px; height:150px; display:none;"/>
<input type="button" onclick="_onSubmit(this)" value="확인"/>
</form>
</body>
-----------------------------------------------------------------------------
form action="smartReg.action" 이부분은 위그림처럼 [확인]을 클릭할 경우 폼액션에서 작성한 .action이 호출됩니다
이부분은 차근차근 알아봅시다
순서를 알아보면
1.[확인]클릭
2. 폼액션을통해서 xml설정파일로 이동
3. xml설정에서 맵핑된 클래스로 이동
4. DAO 연동 후 DB저장
대략 이렇게 됩니다 그럼 우리는 2번을 해야합니다
.xml파일을 생성해주세요 저는 struts.xml 생성했습니다
--------------------------------------------------------------------------------------
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"/><!-- 한글이 깨질 시 사용 -->
<package name="pack" extends="struts-default">
<!-- 404 혹은 500 에러시 나오는 페이지를 대체할 수 있다 -->
<default-action-ref name="error"/>
<action name="error">
<result>/error.jsp</result>
</action>
<action name="smartReg" class="com.action.SmartInert">
<result name="success">/smart_ok.jsp</result>
</action>
</package>
</struts>
--------------------------------------------------------------------------------------
이렇게 코딩해주시고 쓰기폼에서 smartReg.action을 적으신거 기억나시죠?
<action name="smartReg" class="com.action.SmartInert">
smartReg로 호출을 받아서 com.action.SmartInert 액션으로 연결해줍니다
자 이제 순서중에서 2번은 끝났고 3번으로 가겠습니다
딱보면 아~ SmartInert 클래스를 생성해야겠구나 생각하실거에요
네맞습니다
SmartInert.java를 생성합니다
하지만 제가 빼먹은게 있습니다 바로 빈파일을 빼먹었습니다 초보라서..ㅠㅠ
--------------------------------------------------------------------------------------
package com.bean;
public class SmartBean {
private String ir1;
public String getIr1()
{
return ir1;
}
public void setIr1(String ir1)
{
this.ir1=ir1;
}
}
--------------------------------------------------------------------------------------
이렇게 후딱 코딩해주세요 private String ir1; <--- 이변수는 뭔지아시죠? <textarea name="ir1"> 이거 입니다
다시 본론으로 들어가서 SmartInert.java를 생성합니다
--------------------------------------------------------------------------------------
package com.action;
import java.util.ArrayList;
import java.util.List;
import sun.misc.Request;
import com.dao.*;
import com.opensymphony.xwork2.ActionSupport;
import com.bean.*;
//POJO방식 종속적이지않다(extends사용하지않음)
public class SmartInert
{
private SmartBean smartbean; //빈즈클래스 객체화(인스턴스변수)
private String ir1;
public String execute() throws Exception
{
System.out.println("액션통과1"); //제대로 통과했는지 알아보기위해 찍었습니다
SmartDAO sDAO = new SmartDAO();
SmartBean sb = new SmartBean();
sb.setIr1(ir1);
sDAO.sInsert(sb);
return "success";
}
--------------------------------------------------------------------------------------
자아~ 여기서보면 DAO와 Bean 각각 인스턴스 변수를 생성했습니다
그리고 sb. 빈호출해서 setIr(ir1) 정보를 가져와서 sDAO. DAO클래스의 sInsert(sb) 담아서 return "success" 합니다
여기에서 "success"의 헬퍼인터페이스입니다
<참조>
리턴은 success 인자로 리턴한다 이걸 헬퍼인터페이스(또는 상태값)라고한다
헬퍼 인터페이스(상태값)는 "SUCCESS" , "NONE", "ERROR","INPUT","LOGIN"과 같은 상수로서 공통적인 결과를 제공한다
그리고 이 상수들은 반드시!!! execute() 메소드를 재정의해야한다
그러면 SmartDAO 클래스의 sInsert() 메소드를 코딩해야합니다
그건 다음페이지에서 작성하겠습니다 ~~
[출처] 스마트에디터 구현 (3) (자바 커뮤니티) |작성자 제피