회원전용 이미지 등록을 완료했다. 불러오기 로직만 짜면 될 듯..

변수를 넘기고 받는게 까다로운걸까... 익숙하지 않아서 어려운걸까...
암튼 이것저것 해보니 되더라..

<action name="goMemInfo" class="sam.action.MemberAction">
    <result>/admin/admin_memInfo.jsp</result>
  </action>

  <action name="Upload" class="sam.action.SingleUploadAction" method="uploadImg" >
   
    <result type="redirect-action">
    <param name="actionName">goMemInfo</param>
    <param name="id">${mid} </param>
    </result>
  </action>

리절트 타입도 여러가지고... 액션으로 넘길때는 저렇게 쓴다.
파람 네임의 id는 넘겨야할 변수명을 뜻한다. ${mid}는 변수의 값을 설정하는 건데...이건
SingleUploadAction클래스에 정의되어있는 mid 변수의 값이다.
http://211.32.127.200/Comeon/goMemInfo.action?id=admin
결과는 위와 같이 리다이렉트된다.


스트럿츠2 아직 활성화가 덜 된건지... 자료가 많지 않아 고생이다.
아첸자바커뮤니티는 개인서버를 쓰는지 계속 서버가 죽어있넹..
피드백을 하라는건지 원...
AND


고생엄청했어여....무지 했어여..넹
스트럿츠2는 내가 처음으로 접한 프레임웍이다. 쉬워보였지만,,, 데이터베이스 연동에서 무지하게 애먹었다.
생각대로 그렇게 간단하지가 않다.

일단,,, 내가 리팩토링 능력이 될때까지는 알려준대로 해봐야겠다,.

패키지가 좀 필요하다,.

1.모델패키지 - 변수정의
2.DAO패키지 - 비즈니스 로직(DBcon포함)
3.서비스패키지 - DAO의 메소드를 실행하거나 리턴하는 메소드 정의
4.액션패키지 - 서비스클래스의 객체를 생성해 메소드를 불러온다.getter/setter필요
                      각각 모델클래스의 객체생성, 어레이리스트 객체 등등 생성해줄것 많다.



그리고...
폼에서 theme="simple"로 설정..
텍스트필드 name="객체명.변수명" 으로 반드시 해야한다. 일반적으로 변수명만 써주면 널포인터에러가 발생 혹은 아무값도 전달치 못한다.

리스트값을 받아오는것은 iterator를 사용한다.
ar은 리턴된 ArrayList객체
<s:iterator value="ar">
 <tr>
  <td><s:property value="id" /></td>
  <td><s:property value="name" /></td>
  <td><s:property value="email" /></td>
 </tr>
 </s:iterator>



많이해보면 익숙해지고, 아키텍쳐를 이해할 수 있겠지...
AND


셀렉트박스사용하기
계열선택 : <a:select headerKey="기본" headerValue="--선택하셉세요--" name="memtype" list="{'문관계','무관계'}">

name이 파라미터명이고 list에서 선택된것이 값이 된다.

자바스크립트를 못쓴다???
스트럿츠2의 태그는 조금 까다롭다. 아직 다 확인한 것은 아니지만 자바스크립트와의 연동이 원활하지 못한듯 싶다.(해본바...)
오리지날 input태그를 섞어서 쓰면 된다. 상관없이 호환이 되더군..

<a:form action="joinGood" validate="true">
 아이디 : <input type="text" name="memid" /><br>
 패스워드 : <input type="password" name="mempass" /><br>
 패스워드확인 : <input type="password" name="mempass2" /><br>
 장수명 : <input type="text" name="nicname" /><br>
 계열선택 : <a:select headerKey="기본" headerValue="--선택하셉세요--" name="memtype" list="{'문관계','무관계'}">
 </a:select>
 <a:property value="memid"/>
 <a:property value="mempass"/>
 <a:property value="nicname"/>
 <a:property value="memtype"/>
<br>
 <input type="button" value="전송" onclick="javascript:hh()" />
 </a:form>
AND