2013-06-10 2 views
1

문자열을 반환하는 대신 액션 클래스 메소드에서 객체 유형을 인터셉터로 반환 한 다음 요격기에서 문자열을 반환하여 필요한 결과를 식별 할 수 있습니까?액션 클래스에서 임의의 클래스 객체를 인터셉터로 반환 할 수 있습니까?

+0

왜? 너 뭐하려고? –

+0

변경된 오브젝트의 사전 이미지와 포스트 이미지를 반영해야하는 로거 유형 현상이 필요합니다. – CodeHunter

+1

오브젝트를 인터셉터에 넣을 수 있습니다. 액션 메소드에서 반환 할 필요가 없습니다. –

답변

2

"invoke"메커니즘을 무시할 경우 기술적으로 네, 그렇습니다. 너? 가능성이 없습니다.

정형화 된 S2 접근 방식은 구현 된 인터페이스에 의해 정의 된 인터셉터에 속성을 표시하는 것입니다. 예를 들어, Revisionable 또는 RevisionAware이라고하고 beforeafter 개의 참조로 구성된 쌍을 노출 할 수 있습니다. 인터셉터에서

당신이 의사에, 그 인터페이스를 확인할 것 : 당신이 경우 적절한 결과를 반환 Action (작업) 모델 별 버전을 처리, 또는 인터페이스의 메소드를 포함 할 수 있습니다

if (action instanceof Revisionable) { 
    return processRevisionablePair(); 
} 

당신은 인터셉터의 기능을 마무리 할 수와 "수정"하고/또는 "수정되지 않은"결과 문자열보다 뭔가 다른을 반환 등

작업 방법 프레임 워크의 기대에서 벗어나, 응용 프로그램에서 동일합니다 differe를 처리하는 여러 가지 방법으로 이어지는 nt 작업, 여러 가지 테스트 방법 등이 있습니다. 왝. 일을 일관성있게 유지하고 실제로 필요하지 않은 문서화 및 차별화 계층을 피하십시오.

마지막으로 작업 메서드 반환 값을 기준으로 결과를 반환하려면 결과 이름을 제공 할 PreResultListener을 구현해야합니다. 결과는 이미 invoke 뒤에 표시되고 per the docs으로 반환됩니다.

0

조치에서 직접 Result 인터페이스의 인스턴스를 반환 할 수 있습니다.

관련 문제