2011-01-11 3 views
1

LiftRules의 모든 기능이 의도 한대로 작동합니다. 그러나 나는 S.redirectTo를 전혀 사용할 수 없었습니다. 나는 항상 빈 화면으로 끝난다. 오류 메시지가 전혀 표시되지 않습니다.S.redirectTo는 항상 빈 화면으로 연결됩니다.

예를 들어, 나는 다음과 같은 형식이 있습니다

... 
    <lift:logIn.logInForm form="post"> 
    <p><login:name /></p> 
    <p><login:password /></p> 
    <p><login:submit /></p> 
    </lift:logIn.logInForm> 
    ... 

을 그리고 코드는 다음과 같습니다

방법 '로그인'을 호출
object LogIn extends helper.LogHelper { 

    ... 
    def logInForm(in: NodeSeq): NodeSeq = { 
     var name = "" 
     var password = "" 

      def login() = { 
      logger.info("name: " + name) 
      logger.info("password: " + password) 
      if (name == "test1") S.redirectTo("/example") 
      if (name == "test2") S.redirectTo("/example.html") 
      if (name == "test3") S.redirectTo("example.html") 
      S.redirectTo("/") 
      } 

    bind("login", in, 
     "name" ->  SHtml.text(name, name = _), 
     "password" -> SHtml.password(password, password = _), 
     "submit" -> SHtml.submit("Login", login)) 
    } 
    } 

, 나는 로그 정보 것을 확인할 수 있습니다. 그러나 내가 말했듯이 브라우저에 직접 액세스 할 때 'example.html'을 사용할 수 있지만 입력 한 이름에 상관없이 항상 빈 화면으로 끝납니다. 'examples.html'로 이동하기 위해 어떻게 S.redirectoTo를 호출해야합니까? 또한 디버그 수준에서 로깅 중입니다라는 오류 메시지가 표시되지 않는 이유는 무엇입니까?

모든 LitRules 예제 (statelessRewrite, dispatch, viewDispatch, snippets)가 제대로 작동하기 때문에 Boot의 모든 구성이 정확하다고 생각합니다.


편집 됨 :

/예는 사이트 맵에 없었다. 그런 내가 추가 한/예 및/색인 :?.

def boot { 
    ... 
    val index = Menu(Loc("index", new Link(List("index"), false), "index")) 
    val example = Menu(Loc("example", new Link(List("example"), false), "example")) 
    LiftRules.setSiteMap(SiteMap(index, example)) 
    ...  
} 

아직 아무것도

어떤 생각 당신이 사이트 맵에 있어야 redirectTo

+0

당신을 가지고 :-(발생하지 'example.html' 페이지를'SiteMap'에 추가 했습니까? – Debilski

+0

2.8.0은 최신 버전 인 2.2의 버전 인 Lift 버전이 아닌 사용중인 스칼라 버전이 될 것입니다. 버전을 사용하고 있습니다. * 실제 사용중인 버전입니다. –

+0

오타가 없습니까? 코드에는 예제가 있지만 텍스트에는 example's'를 참조하십시오. – coubeatczech

답변

0

아무것도

+0

SiteMap에/index 및/example을 추가했는데 (변경 사항 참조), 여전히 작동하지 않는다. ... –

관련 문제