2012-06-22 3 views
0

Grails ajaxflow 플러그인을 사용하여 기본 마법사를 만듭니다. 내가 가진 한 가지 문제점은 기본적으로 사용되는 컨트롤러 작업 이름 지정입니다. 특히, 기본 흐름의 이름이 pagesFlow 인 ThingController라는 컨트롤러가 있다고 가정 해 보겠습니다. 결과적으로 실행 중 마법사 URL이 생성됩니다.Grails ajax webflow 액션 이름을 변경하거나 매핑하는 방법은 무엇입니까?

/thing/pages?execution... 

일반적으로 마법사는 '사물'을 추가 할 수 있습니다. 말하자면, 나는

/thing/add?execution... 

이 결과를 달성하기위한 방법 중 하나 pagesFlow 정의를 변경하여 있는가, 또는 사용자 정의 URL 매핑을 통해 같은 표시되는 URL을 .. 선호?

저는 간단히 행운을 가지고 시도했습니다. ajaxflow 플러그인은이 기본 네이밍을 필요로하며, 아직 URL 매핑을 이해할 수 없습니다.

답변

1

나는 ajaxFlow를 특별히 사용하지 않았지만 이전에는 grails webflow로 작업했습니다. 일반적으로 웹 플로우는 기본적으로 장면 뒤에있는 흐름에 대한 추가/삭제/업데이트 등과 같은 다양한 "동작"을 관리하므로 흐름 이름 "페이지"만 노출됩니다.

그러나 고유 한 이름을 갖고 싶다면 webflow의 하위 흐름 기능을 사용하는 것이 유일한 해결책입니다. 웹 플로우 문서는 grails doc http://grails.org/doc/latest/guide/theWebLayer.html#subflowsAndConversations의 일부입니다.

하위 플로우는 사용자가 정의하는 또 다른 플로우입니다. 흐름은 다른 흐름을 호출 할 수 있고 두 번째 흐름은 결과를 첫 번째 흐름으로 되돌려 보냅니다. 따라서 귀하의 경우에는 기본 흐름 addFlow, updateFlow 등을 호출해야합니다. 개념적으로 모든 동작이 단일 흐름에 속해도 각 흐름을 자체 흐름으로 분리하는 것을 막을 수있는 방법은 없습니다. 당신의 URL의 이름을 당신의 행동을 반영하도록 할 수 있습니다. 다른 컨트롤러에서도 서브 플로우를 정의 할 수 있으므로 URL의 컨트롤러 이름에 영향을 미칠 수 있습니다.

+0

나는이 결론에 역시 종지부를 찍었습니다. 당신의 대답은 확실히 저를 더 빨리 데려갔습니다. 고맙습니다. 그랬듯이 웹 플로우는 문제 해결에 과도한 부담이되어 결국 해결할 때보 다 더 많은 골치 거리를 낳았습니다. 정말 불행합니다. –

관련 문제