[SPRING] Grails에서 컨트롤러 액션간에 객체를 전달하는 가장 좋은 방법
SPRINGGrails에서 컨트롤러 액션간에 객체를 전달하는 가장 좋은 방법
내 웹 응용 프로그램의 다른보기를 열어 특정 객체에 대한 정보를 표시하는 링크가 필요합니다. Grail에서 컨트롤러 액션간에 객체를 전달하는 가장 좋은 방법은 무엇입니까?
해결법
-
==============================
1.액션은 체인 컨트롤러 메소드를 사용하여 체인화 할 수 있습니다.
액션은 체인 컨트롤러 메소드를 사용하여 체인화 할 수 있습니다.
체인을 사용하면 한 동작에서 다음 동작으로 모델을 유지할 수 있습니다.
-
==============================
2.(Late to the party, but ...) 나는 Grails 2.4.4를 사용하고 있는데, 아래에서 그렇게 할 수있다.
(Late to the party, but ...) 나는 Grails 2.4.4를 사용하고 있는데, 아래에서 그렇게 할 수있다.
def usernameLogin() { SecurityToken securityToken = authService.loginWithUserPass(params.user, params.pass) chain action: 'afterLogin', model: [securityToken: securityToken] } def ssoLogin() { SecurityToken securityToken = authService.ssoLogin(params.remoteUser, params.key) chain action: 'afterLogin', model: [securityToken: securityToken] } def afterLogin() { SecurityToken securityToken = (SecurityToken) chainModel['securityToken'] if (securityToken.valid) { forward action: 'loggedInRedirect' } else { forward action: 'loginFailed' } }
희망이 도움이됩니다.
-
==============================
3.이전 답변은 불완전합니다. 그래서 저는 그것들을 필자의 의견과 함께 편집하여보다 명확하게 보여주고 있습니다.
이전 답변은 불완전합니다. 그래서 저는 그것들을 필자의 의견과 함께 편집하여보다 명확하게 보여주고 있습니다.
두 가지 옵션이 있습니다.
앞의 경우와 달리 요청 전달은 기존 세션을 재사용하므로 지연로드 문제가 발생하지 않습니다.
보시다시피 두 구문 모두 거의 동일합니다. 그러나 위에 언급 된 문제로 인해 문제의 요구 사항에 따라 요청 전달을 선호해야합니다. 또 다른 중요한 세부 정보는 페이지로드시 / 페이지로드 후 주소 표시 줄에서 본 URL과 관련됩니다. 요청을 전달하면 페이지 URL이 유지되며 작업을 연결하면 페이지 URL이 최신 작업의 URL로 변경됩니다.
from https://stackoverflow.com/questions/9751211/best-way-to-pass-objects-between-controller-actions-in-grails by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] spring mvc 프로젝트를 실행하는 중에 오류가 발생했습니다. (0) | 2019.02.25 |
---|---|
[SPRING] 기본 AOP 프로그램이 BeanCurrentlyInCreationException을 발생시킵니다. (0) | 2019.02.25 |
[SPRING] 봄에 많은 객체를 저장하는 방법 <form : form> (0) | 2019.02.24 |
[SPRING] 메이븐 프로젝트에 대한 종속성으로 로컬 non-maven 프로젝트를 추가하는 방법은 무엇입니까? (0) | 2019.02.24 |
[SPRING] 어떻게 스프링 부팅 응용 프로그램에 CSS와 JS를 추가할까요? (0) | 2019.02.24 |