struts2 Result Types

|

가장 사용이 많은 경우는 두가지 구문으로 분할된다. 첫번째, application's 상태를 변경하거나 query한다. 그리고 application의 view를 갱신하여 표현하기를 필요로한다. Action class는  application의 상태를 관리하고, Result type은 view를 관리한다.

미리 정의된 Result Types

framework은 자신의 application을 개발할 준비가 된 com.opensymphony.xwork2.Result interface의  몇몇 implementation들을  제공한다.

 

Chain Result Action Chaining을 위해 사용된다. 
Dispatcher Result

JSP통합을 포함한 web resource통합 을 위해 사용된다.

FreeMarker Result

FreeMarker 통합을 위해 사용된다.

HttpHeader Result

특정 HTTP가동을 제어하기 위해 사용된다.

Redirect Result

다른 URL(web resouece)에 redirect하기 위해 사용된다. 

Redirect Action Result

다른 action mapping에 redirect하기 위해 사용된다.

Stream Result

browser로 Inputstream을 stream하기 위해 사용된다.(일반적으로 파일 다운로드를 위해) 

Velocity Result

Velocity통합을 위해 사용된다.

XSL Result

XML/XSLT 통합을 위해 사용된다.

PlainText Result

특정 page(i.e , jsp , HTML) 에 raw content를 display하기 위해 사용된다.

Tiles Result

Tiles통합을 위해 사용된다. 

Optional

 

JasperReports Plugin은  Third-party plugin인  JasperReports Tutorial 을 선택적으로 통합하기 위해 사용된다.  추가적인 Result type은 생성 할 수 있으며, com.opensymphony.xwork2.Result interface를 implement하여 application에 plug될 수 있다.

Custom Result Type들은 email , JMS message, image 생성, 기타 등등 들을 포함한다.

 

 

Default Parameters

최소한의 설정으로는 , Result는 parameter안에 변환된 single value로 설정 할 수 있고, 각 Result는 어떤parameter가 값으로 설정되는지 묘사한다.

예를 들어, 다음 예제는 Default parameter를 사용하여 XML안에   정의된 결과 이다:

<result type="freemarker">foo.fm</result>

That is the equivalent to this:

<result type="freemarker">
<param name="location">foo.vm</param>
</result>
 

대 개 application 의 95% 여러 parameter들을 포함한 결과를 필요로 하지 않기 때문에 이 간단한 중요한 많은 양의 작업 비용을 줄여준다. 또한 Default parameter를 열거할 경우 특별한 이름의 paremeter를 위해  동일 parameter들을 설정할 필요가 없다.

Registering Result Types

모든 Result Type들은 Result Configuration을 통해 plug된다.

 

Open Framework의  대중화를 위해 : jsHan

And