사용자주소 코드처리

From JCFWiKi

Jump to: navigation, search

그림:check.gif

  • 산출물 : JCF3.0 - Struts2에서 코드 개발
  • 작성자: 정광선
  • 작성일 : 2007/05/22

Copyright © 2008 Daewoo Information Systems Co., Ltd.


목차

[편집] 개발 개요

  • 간단하게 코드 값을 조회하여 사용할 수 있는 모듈을 생성한다.
  • 코드 관리 화면 없이 기존 코드 테이블에서 코드 값을 조회하는 기능만 구현한다.


[편집] 진행절차

  1. 코드 모듈 개발
  2. 코드 모듈의 활용.

[편집] 사용자 모듈에서 USER 코드 사용하기

[편집] UserAction 에서 코드값 가져오기

  • 프라퍼터 추가 및 getter&setter 추가한다.
    • List addressCodes : 주소 코드값 리스트를 저장하기 위한 프라퍼티.
    • CodeService codeService : 코드값을 가져오기 위한 서비스 프라퍼티.
  • addUser(..) 액션 메소드에서는 사용자 등록 화면으로 가기전에 codeService를 통해서 주소 코드 값을 가져와 addressCodes에 담는다.(결과 페이지에서는 여기서 추가된 addressCodes를 JSP에서 참조하여 코드 값을 보여주게 된다.)
public class UserAction extends BaseAction {
	/*
	 * ******************************** PROPERTIES
	 * ******************************
	 */
	private User user;
	private List userList;
	private List addressCodes;
 
	private UserService userService;
	private CodeService codeService;
 
	/* ******************************** SERVICE METHODS ****************************** */
	public String addUser() {
				return SUCCESS;
	}
 
	/* ******************************** GETTER & SETTER ****************************** */	
	// 생략...
	public List getAddressCodes() 
            addressCodes = codeService.getCodes("user_address_code");  //parentId
         return addressCodes;
	public void setAddressCodes(List addressCodes) {this.addressCodes= addressCodes;}
	public void setCodeService(CodeService codeService) {this.codeService= codeService;}
}

[편집] editUser.jsp에서 코드값 보여주기

  • < s:select /> 태그를 사용하여 액션 클래스의 코드 리스트를 보여주고, 선택값은 액션의 user 모델 객체의 address 프라퍼티로 저장되도록 설정한다.
// 생략..
<body>
<h1>사용자 생성/수정</h1>
<s:form name='userForm' action='saveUser' theme='simple'>
	<table cellpadding='3' cellspacing='0' border='1'>
		<tr>
			<td width='100' align='left'>아이디</td>
			<td width='200'><s:textfield name='user.id' /></td>
		</tr>
		<tr>
			<td width='100' align='left'>이름</td>
			<td width='200'><s:textfield name='user.name' /></td>
		</tr>
		<tr>
			<td width='100' align='left'>주소</td>
			<s:select name="user.address" 
				list="addressCodes" listKey='id' listValue="description">
			</td>
		</tr>
	</table>
</s:form>
// 생략..