DynamicJasper é uma biblioteca open source que complementa o Jasper Reports e permite a geração de relatórios dinâmicos em tempo de execução.
Você pode definir em runtime opções como campos, sub-relatórios e outras opções, sem precisar mexer em arquivos jrxml. Ele possui integração com frameworks MVC populares, como Struts 2 e WebWork. Existe também um plugin para o Grails.