2017-11-07 6 views
0

withForm을 사용할 수 없으며 저에게 혼란 스럽습니다. grails 2.2.4를 사용하고 있습니다 (몇 개월 동안 더 높은 버전으로 업그레이드하지는 않지만, 양식에 useToken = "true"를 추가하고 싶습니다.)withForm이 Grails 2.2.4에서 '너무 많은 리디렉션'오류를 일으켰습니다.

다음은 간단한 작업 방법입니다.

GSP를에서
def browse() { 

     def model =[:] 
     model += [ attr1: "attr1", attr2: "attr2"] 

} 

, 단순히 속성의 값을 출력 :

<g:form name='filterForm' action="browse" id='filterForm' method="post" 
    useToken="true"> 
    browse.gsp values:   
    ${attr1.toString()} 
    ${attr2.toString()} 
</g:form> 

위의 GSP 인쇄 아웃 : browse.gsp 값 : ATTR1의 ATTR2

를 이제 때 withdForm을 컨트롤러 메소드에 넣으십시오 :

def browse() { 
    withForm { 
     def model =[:] 
     model += [ attr1: "attr1", attr2: "attr2"] 
    }.invalidToken{ response.status = 405} 
} 

'너무 많은 리디렉션'오류가 발생합니다. 인증이 필요하지 않습니다
페이지는, 그 아래에 떨어질 것이다 유일한 매핑은 컨트롤러가 더 전이나 인터셉터가 설정 한 후이없는 일반

"/$controller/$action?/$id?" { 
     constraints { 
      // apply constraints here 
     } 
    } 

입니다.

내 로컬 시스템에서 GGTS를 IDE로 사용하고 있습니다.

Chromium과 Firefox에서 동일한 문제가 있습니다.

답변

0

사실, 이것은 문제가 아닙니다. 분명히 정리 된 예제를 만드는 데 분명히 또 다른 문제가 발생했습니다. 그런 다음 리디렉션이 근본 원인이라고 생각했지만 더 많은 디버깅을 수행 한 후에는 리디렉션과 관련이없는 것으로 나타났습니다.

내 원래의 문제는 withForm이 모델에서 gsp로 데이터를 반환하지 않아서 gsp 생성이 실패했기 때문입니다. 너무 많은 리다이렉션을 얻기 위해 내 버려진 버전을 일으키는 것이 무엇인지 모르겠지만,이 시점에서는별로 중요하지 않습니다.

그래서 실제 문제로 새로운 질문을 열었습니다.이 문제에 많은 시간을 할애 할 수 있도록이 질문에 답하고 있습니다.