2014-09-02 2 views
2

나는이 컨트롤러를 사용하고있다.Play2 자바 액션 컴포지션 - 여러 액션을 함께 묶는 방법은 무엇입니까?

@With(SecuredAction.class) 
public class Application extends Controller { 
    public void hasSomeMethods(){ return ok("blah blah");} 
} 

주석은 기본적으로 보안 문제에 대한 요격기를 가리 킵니다.

컴포지션에 두 번째 작업 (예 : LoggedAction)을 추가하려면 어떻게합니까? @With를 사용하여 SecuredAction에 주석을 달아도 작동하지 않는 것으로 보이며 @With는 하나의 클래스 만 허용합니다. 맞춤 주석을 사용해야합니까? 나는 그것을 알아 냈 - -

@With({SecuredAction.class, LoggedAction.class}) 
public class Application extends Controller { 
    public Result hasSomeMethods(){ return ok("blah blah");} 
} 

답변

2

@With

는 다음과 같이 정의된다. 실현 된 배열을 자주 만들지 않습니다. P
+0

덕분에 다시 와서이 종료하는 것을 잊었다 :

public @interface With { java.lang.Class<? extends play.mvc.Action<?>>[] value(); } 

그래서이 같은 작동합니다 : – JasonG

관련 문제