depende da implementação da Tag e de como você declarar ela no TLD, a JSP pode tratar o conteúdo simplesmente, a JSP pode tratar o conteúdo pelo numero de vezes que a sua Tag mandar, ou então a sua tag pode tratar o conteúdo.
existem todas estas possibilidades no primeiro caso, e no segundo sómente a tag vazia 
por exemplo, no arquivo TLD, dentro da definição da tag, você pode utilizar o seguinte item:
<bodycontent>tagdependent | JSP | empty</bodycontent>
empty - quer dizer que a tag não pode ter conteúdo
JSP - o conteúdo vai ser parseado pela propria JSP, mas dependendo da implementação da sua tag, pode ser tratado diversas vezes
tagdependent - quer dizer que a sua tag vai interpretar o conteúdo, por exemplo, um código SQL
quando nada for especificado, o default é JSP
quando é especificado JSP, para criar um loop, você deve:
extender a classe IterationTag
e no metodo doAfterBody()
retornar EVAL_BODY_AGAIN
enquanto você retornar este valor, o loop continua, para terminar, neste metodo, retorne: SKIP_BODY
você pode também retornar: EVAL_BODY_INCLUDE, mas este eu não entendi direito para que serve 