This page last changed on Feb 16, 2006 by [email protected].

Page flow artifact

Page flows are a work in progress and are subject to change, this page is more here as a reference, please check back in future when page flows will be properly supported.

A page flow implements a work flow for web pages. Typically page flows are used for the implementation of well defined processes in a web front-end.

Page flows define a work flow diagram that contains views, models, actions, command classes and validators.

Coding conventions for page flows

Page flow names should end with "PageFlow". This first part of the class name defines the page flow id. The page flow definition must be defined in the property "flow" of type grails.pageflow.Flow.

class OrderFormPageFlow {
   @Property OrderService orderService
   @Property Flow flow = new PageFlowBuilder().flow {
      showOrders(view:'orderList',model:[orders:{ orderService.loadOrders() }]) {
         detail('loadDetailBind')
      }
      loadOrderDetailBind(action:[class:OrderDetail.class,name:'orderDetail']) {
         success('loadDetail')
      }
      loadOrderDetail(
         action:{ 
            ctx -> 
            ctx.requestScope['order'] = orderService.findOrder(ctx.requestScope['orderDetail'].id)
            return 'success' 
         }) {
         success('showOrderDetail')
      }
      showOrderDetail(view:'orderDetail') {
         list('showOrders')
      }
   }
}

TODO: complete this section.

Document generated by Confluence on Mar 29, 2006 08:46