2016-11-15 73 views
0

我修改了「sendTicketGrantingTicket」之後的login-webflow。 我做了一個轉換並將所有重定向到一個帶有3個按鈕的頁面。當我點擊一個按鈕時,我會繼續流程,其他按鈕會執行一些操作並繼續或重新啓動到登錄頁面。 登錄-的Webflow的添加的配置是:CAS login-webflow修改在檢票過程中添加視圖

<action-state id="sendTicketGrantingTicket"> 
    <evaluate expression="sendTicketGrantingTicketAction" /> 
    <transition to="testMy" /> 
    </action-state> 

    <action-state id="testMy"> 
    <evaluate expression="testMyAction.doBind(ticketRegistry, flowRequestContext, messageContext)" /> 
    <transition on="success" to="serviceCheck" /> 
    <transition on="question" to="viewMyQuestionForm" /> 
    </action-state> 

    <view-state id="viewMyQuestionForm" view="casMyQuestionView"> 
    <transition on="choice1" to="myChoice1" /> 
    <transition on="choice2" to="myChoice2" /> 
    <transition on="choiceContinue" to="serviceCheck" /> 
    </view-state> 

    <action-state id="myChoice1"> 
    <evaluate expression="testMyAction.myChoice1(ticketRegistry, flowRequestContext, messageContext)" /> 
    <transition to="viewLoginForm" /> 
    </action-state> 

    <action-state id="myChoice2"> 
    <evaluate expression="testMyAction.myChoice2(ticketRegistry, flowRequestContext, messageContext)" /> 
    <transition to="serviceCheck" /> 
    </action-state> 

的片JSP的是:

  <input type="hidden" name="lt" value="${loginTicket}" /> 
      <input type="hidden" name="execution" value="${flowExecutionKey}" /> 
      <input class="btn-submit" style="margin-left: 3px" name="_eventId_choice1" 
       accesskey="l" 
       value="<spring:message code="screen.welcome.button.choice1" />" 
       tabindex="4" type="submit" /> 
      <input class="btn-submit" style="margin-left: 3px" name="_eventId_choice2" 
       accesskey="l" 
       value="<spring:message code="screen.welcome.button.choice2" />" 
       tabindex="4" type="submit" /> 
      <input class="btn-submit" style="margin-left: 3px" name="_eventId_choiceContinue" 
       accesskey="l" 
       value="<spring:message code="screen.welcome.button.choiceContinue" />" 
       tabindex="4" type="submit" /> 

現在testMyAction.java我有doBind,myChoice1,myChoice2方法僅做的System.out。

當doBind回答「成功」時,一切正常。

當doBind回答「問題」時,我看到3個按鈕頁面,如果點擊choiceContinue按鈕,CAS錯誤就會上升。

ticketGrantingticketId不能爲空 在org.springframework.util.Assert.notNull(Assert.java:112)

我認爲必須通過grantingTicket拋出的觀點。以這種方式,它可能在流動期間存在......但是如何?而且,這是真的嗎?

回答

0

解決自己... doBind過程中節省了TGT和testMyAction.myChoiceXXX

時把它放在RequestScope