donaricano-btn

Result - 이동할 뷰 설정


- dispatcher : JSP에 HTML 렌더링

- Velocity : velocity

- chain : 액션을 연속처리

- redirect : 다른페이지로 이동


1. 다른 형태지정

- 기본은 dispatcher이다

- struts.xml의 result 태그 type에 지정한다


2. 동적으로 이동할 설정 변경

1) 와일드 카드 이용

 

- 액션 이름으로 지정된 와일드카 *에 해당하는 문자열이 result 태그안의 {1}{2}로 치환

- 예

- 요청 : foo_hello.action

- 경로 : /WEB-INF/jsp/foo/hello.jsp

2) 액션 프로퍼티 값 이용

a. Acrion.java

 

b. strusts.xml

 

- Action클래스 안에 result라는 프로퍼티가 정의되었다. 

- struts.xml에 ${} 라는 서식으로 result 프로퍼티의 값을 가져오고 jsp파일 경로에 치환

3. Result 액션단위가 아닌 패키지 단위로 설정

 

- 오류 화면이나 로그인 화면 등은 복수의 액션으로 부터 이동할 수 있다

'Back-End > Struts2' 카테고리의 다른 글

[Struts2] OGNL  (0) 2016.10.03
[Struts2] Context Map  (0) 2016.10.03
[Struts2] Action(4) - Access to servlet data(서블릿 데이터 엑세스)  (0) 2016.09.26
[Struts2] Action(3) - Binding  (0) 2016.09.26
[Struts2] Action(2) - Action Class  (0) 2016.09.25
블로그 이미지

리딩리드

,
donaricano-btn

Action(4) - Access to servlet data(서블릿 데이터 엑세스)


- 액션을 만드는 중 HttpServletRequest, HttpSession같은 서블릿에 접근해야함

- 스트럿츠는 두 가지 방법을 제공


1. ServletActionContext 클래스의 static메소드


- HttpSession을 얻을 메소드는 준비 되어있지않다.

- getRequest메소드로 얻은 오브젝트에서 얻을수 있다


2. Aware인터페이스 

 인터페이스 이름

용도 

ServletRequestAware 

HttpServletRequest 오브젝트 취득

ServletResponseAware 

HttpServletResponse 오브젝트 취득 

ServletContextAware 

ServletContext 오브젝트 취득 

SessionAware 

HttpSession안의 값이 저장된 Map 오브젝트 취득 

- 각 인터페이스는 취득할 오브젝트의 Setter 메소드를 정의하고 있다

1) Action.java

'Back-End > Struts2' 카테고리의 다른 글

[Struts2] Context Map  (0) 2016.10.03
[Struts2] Result - 이동할 뷰 설정  (0) 2016.09.26
[Struts2] Action(3) - Binding  (0) 2016.09.26
[Struts2] Action(2) - Action Class  (0) 2016.09.25
[Struts2] Action(1) - Struts package, NameSpace  (0) 2016.09.25
블로그 이미지

리딩리드

,
donaricano-btn

 Action(3) - Binding

- 브라우저에서 입력된 값을 바인딩

- 입력값을 액션 프로퍼티로 정의한다


1. 프로퍼티로 정의

1) HTML


- name 속성으로 전송한다

2) Action.java

 

- JavaBeans의 프로퍼티로 값을 선언한다


2. JavaBeans의 바인딩

- 문자열 뿐 아니라 JavaBeans도 바인딩이 가능하다

1) HTML

 

2) Action.java

 

- User 클래스에는 인수가 없는 생성자가 필요


블로그 이미지

리딩리드

,
donaricano-btn

Action(2) - Action Class

- POJO로 처리 가능

- 빈번하게 사용하는 처리나 값을 제공하는 ActionSupport클래스를 상속해서 작성하는것도 좋다


1. ActionSupport 클래스 상속


- Result의 이름으로 ActionSupportstatic 필드 SUCCESS사용함

- 반환은 "success"이며 ERROR, LOGIN등의 상수가 있다

2. struts.xml

 

- class 속성을 생략하면 액션처리가 이루어 지지 않고 바로 name이 "sucess"인 URL로 이동

3. 복수의 액션 메소드

1) Multi.java

 

2) struts.xml

 

4. 와일드카드

- 실행할 메소드동적으로 변경가능

 

- Action클래스 안의 와일드카드 * 부분의 문자열이 메소드 속성{1}로 치환

- multi_foo요청

- sample.MultiAction의 foo()가 실행된다

- 와일드 카드가 여러개 있을시 출현 순서에 맞게 {1}의 숫자를 증가시킴

블로그 이미지

리딩리드

,