Spring WebFlow. Использование ссылки (<a>) вместо кнопки (<input>) для отправки события

января
14
2012
Метки: spring spring web flow

В Spring WebFlow для отправки событий обычно используются элементы управления input с именем события, которое необходимо отправить. Например:


    <form:form>
      <input type="hidden" name="_flowExecutionKey" 
             value="${flowExecutionKey}"/> 
      
      <input type="submit" name="_eventId_welcome" 
             value="Welcome!" />  
    </form:form>

Но если от пользователя не требуется ввода каких-либо данных, то есть смысл заменить кнопку на обычную ссылку. Это можно сделать, используя служебную переменную ${flowExecutionUrl} и параметр _eventId. В данном случае кнопка заменяется ссылкой следующим кодом:


    <a href="${flowExecutionUrl}&_eventId=welcome" title="Welcome!">Welcome!</a>

Также можно передавать дополнительные параметры в состояния action-state. Например, следующим кодом мы передали состоянию processWelcome переменную testVar со значением 111222, которая доступна во flow через выражение requestParameters.testVar:


    <a href="${flowExecutionUrl}&_eventId=processWelcome&testVar=111222" title="Welcome!">Welcome!</a>

Напишите первое сообщение!

Вы должны войти под своим аккаунтом чтобы оставлять комментарии