Announcement Announcement Module
No announcement yet.
_eventId from anchor Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • _eventId from anchor

    I am trying to use a hyperlink to kick off a get request to my flow. Right now I have

    <h:outputLink value="page.xhtml">#{bundle.usage_editdetails_label}
    		<f:param name="_flowExecutionKey" value="${flowExecutionKey}"/>
    		<f:param name="_eventId" value="change"/>
    		<f:param name="_key" value="#{key}"/>
    For some reason it keeps ignoring my event and is doing the refresh action every time. From the examples I have read I am doing everything right, but obviously I am missing something. Can anyone point out a quick fix? Here are the log statements I see

    Request parameters for url
    util.RequestLogFilter  - key: _key={8ab1627a11dd07b50111dd0926cc0014}
    util.RequestLogFilter  - key: _eventId={change}
    util.RequestLogFilter  - key: _flowExecutionKey={_c99AAE426-92A5-BABA-0C40-B8E496F086F4_k95AE7E40-7069-022E-59B2-26EFDA0BC528}
    continuation.ContinuationFlowExecutionRepository  - Parsed encoded flow execution key '_c99AAE426-92A5-BABA-0C40-B8E496F086F4_k95AE7E40-7069-022E-59B2-26EFDA0BC528', extracted conversation id '99AAE426-92A5-BABA-0C40-B8E496F086F4' and continuation id '95AE7E40-7069-022E-59B2-26EFDA0BC528'
    continuation.ContinuationFlowExecutionRepository  - Getting flow execution with key '_c99AAE426-92A5-BABA-0C40-B8E496F086F4_k95AE7E40-7069-022E-59B2-26EFDA0BC528'
    impl.SessionBindingConversationManager  - Getting conversation 99AAE426-92A5-BABA-0C40-B8E496F086F4
    impl.SessionBindingConversationManager  - Getting conversation 99AAE426-92A5-BABA-0C40-B8E496F086F4
    registry.FlowDefinitionRegistryImpl  - Getting flow definition with id 'test'
    builder.RefreshableFlowDefinitionHolder  - Calculating last modified timestamp for flow definition resource 'file 
    jsf.FlowPhaseListener  - Loaded existing flow execution from repository with id '_c99AAE426-92A5-BABA-0C40-B8E496F086F4_k95AE7E40-7069-022E-59B2-26EFDA0BC528'
    impl.FlowExecutionImpl  - Resuming execution for refresh

  • #2

    normally you can use the action attribute in the h:outputlink tag, then you should be fine.



    • #3
      Are you trying to just start a new flow from a JSF page?

      See sellitem-jsf example

      look for main.jsp (i think)

      'flowId:my-flow' launches a new flow.

      If your in a flow you'll probably need to use the flowRedirect prefex in your flow defination or alternatively start a subflow depending on your use-case.


      • #4
        I was trying to continue an existing flow. From the documentation I could find, including the _eventId should suffice it to tell webflow with transition to use. But that was not happening. As you can see from the log statements it is doing a refresh and from reading the code the refresh is done when there is no event coming in. But I know I was sending an eventId on the GET request so I am not sure why it was ignoring my event.


        • #5

          The SWF JSF integration does not extract event identifiers as plain request parameters. It treats JSF action outcomes as event identifiers. I would try Lyserg's suggestion and use the action attribute the the output link. In general, since 1.0.2 you should not have to do anything "SWF specific" in your JSF views--you can simply work with native JSF idioms.