I'm new to ZF2 and I'm willing to share how I do to retain parameter from form using url helper especially during pagination. I modify the answer from How can you add query parameters in the ZF2 url view helper
This is what I do:
AlbumController.php
// get all the query from url
$input = $form->getData();
$paginator = $this->getAlbumTable()->fetchAll();
$paginator->setCurrentPageNumber((int)$this->params()->fromQuery('page', 1));
$paginator->setItemCountPerPage(30);
// unset the 'page' query if necessary
unset($input['page']);
return array(
    'form'   => $form,
    'paginator' => $paginator,
    'routeParams' => array_filter($input) // filter empty value
);
index.phtml
echo $this->paginationControl(
    $this->paginator,
    'sliding',
    array('partial/paginator.phtml', 'Album'),
    array(
        'route' => 'album',
        'routeParams' => $routeParams
    )
);
paginator.phtml
<a href="<?php echo $this->url(
                    $this->route, // your route name
                    array(),      // any url options, e.g action
                    array('query' => $this->routeParams) // your query params
               ); 
echo (empty($this->routeParams))?  '?' : '&'; ?>
page=<?php echo $this->next; ?>">Next Page</a>
Please provide any better solution and correct me if I'm wrong.
Thank you