6. 정보 수정 : updateform.jsp --> update.jsp

    - 업데이트 폼을 열었을 때, 가입 시 입력한 값이 자동으로 뜨게 하기 --->  DAO로 수정할 정보를 DTO에 저장하고, DTO에 저장된 값을 불러와 value에 추가

   - 다중 선택 가능했던 옵션(checkbox 등)의 값을, 한 문자열에 저장되어있던 것을 구분자를 기준으로 나눠 String[]형 변수에 저장

<%
String id = (String)session.getAttribute("id");

MemberDAO dao = MemberDAO.getInstance();

// 수정하고자 하는 회원의 상세정보 구해오기
MemberDTO member = dao.getMember(id);

// h[0]="공부", h[1]="게임", h[2]="등산"
String[] h = member.getHobby().split("-");    //구분자를 기준으로 문자열을 분리해 String 배열로 저장
%>    


- 텍스트박스에 -> value말고 태그 바깥에 value 넣기
(기본값으로 value가 입력되어있고, 값을 모두 삭제하면 placeholder 문구가 나타나는 형식)
<textarea rows=5 cols=50 id="intro" name="intro"
placeholder="자기소개를 100자 이내로 입력하세요"><%=member.getIntro() %></textarea>

- select option -> 내부에 스크립틀릿 태그로 조건문 넣어 기존 값과 같은 옵션을 selected 처리
<option value="010" 
   <%if(member.getPhone1().equals("010")) { %> selected="selected" <%} %> >

010</option>

- radio -> 셀렉트와 동일
<input type=radio id="female" name="gender" value="여자"
<%if(member.getGender().equals("여자")) { %> checked="checked" <%} %>>여자

- checkbox -> 반복문으로 배열로 저장한 체크박스 값의 value를 하나씩 가져오고, 그 value에 해당하는 체크박스의 속성을 checked로 변경함 (헤더 부분)

$(document).ready(function(){

<% for(String s : h){ %>
$("input:checkbox[name='hobby'][value='<%=s%>']").attr("checked", true);
<% } %>

});

 ---> update.jsp에서, 수정된 checkbox의 값들을 다시 하나의 문자열로 합쳐 setHobby()로 저장한 뒤 DAO 실행해야 함!

String[] hobby = request.getParameterValues("hobby");
String h = "";
for (String h1 : hobby) { // 반복문이 돌아가는 동안 배열 hobby의 값을 h1에 넣음
     h += h1 + "-"; //구분자를 추가해 배열의 값을 하나의 문자열로 저장
}
member.setHobby(h);

 

7. 정보 삭제 : deleteForm.html -> delete.jsp

 - 입력받은 비밀번호를 DB의 비밀번호와 비교한 후, 일치할 경우 정보 삭제 후 세션 해제

if(old.getPasswd().equals(member.getPasswd())){
   int result=dao.delete(member.getId());

   if(result==1){
      session.invalidate();

 

+ Recent posts