Listas Vraptor + jquery

Antes de mais nada gostaria de informar que estou me baseando em um exemplo do Washington Botelho por isso alguns campos ainda estão com o mesmo nome do exemplo. http://www.wbotelhos.com/manipulando-listas-com-jquery-e-vraptor-3

Estou querendo criar um formulário a qual ele permita a inserção de listas e sublistas. No meu caso de uso a pessoa poderá cadastrar a refeição e dizer quais alimentos essa refeição terá. Estou tendo dificuldade em ordenar esses dados e ate mesmo criar os campos.

[code]
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>

Listagem

<form action="${pageContext.request.contextPath}/filme" method=“post”>
<c:if test="${filme != null && filme.id != null}">
<input type=“hidden” name=“filme.id” value="${filme.id}" />
</c:if>

&lt;fieldset id="artista-container" style="width: 300px;"&gt;
    &lt;legend&gt;
        Alimentos
        <img    />
    &lt;/legend&gt;

    &lt;c:forEach items="${filme.artistas}" var="artista" varStatus="status"&gt;
        &lt;div class="artista"&gt;
            &lt;label&gt;Nome:&lt;/label&gt;
            &lt;input type="text" name="filme.artistas[${status.index}].nome" value="${artista.nome}" /&gt;
            &lt;input type="hidden" name="filme.artistas[${status.index}].id" value="${artista.id}" /&gt;

            <img    />
        &lt;/div&gt;
    &lt;/c:forEach&gt;
&lt;/fieldset&gt;<br/>

&lt;input type="submit" value="Salvar" /&gt;

</form>

<script type=“text/javascript”>
var campo =
’<div class=“artista”>’ +
’<label>Nome:</label>’ +
’<input type=“text” name=“filme.artistas[0].nome” />’ +

    '<img    />' +
'&lt;/div&gt;';
var model =
    '&lt;fieldset id="artista-container" style="width: 300px;"&gt;'+
        '&lt;legend&gt;Refeição&lt;/legend&gt;'+
        '&lt;label&gt;Alimento:&lt;/label&gt;'+
        '&lt;input type="text" name="filme.titulo" value="${filme.titulo}" /&gt;<img    />'+
        '<img    />'+
    '&lt;/fieldset&gt;';

$('.button-remover').live('click', function() {
    $(this).parent().remove();
    reorderIndexes();
});

function clona() {
    $('#artista-container').append(model);

};

function adicionar() {
    $('#artista-container').append(campo);

};
function reorderIndexes() {
    var regex = /\[[0-9]\]/g;

    $('.artista').each(function(index) {
        var $campos = $(this).find('input'),
            $input    ,
            name    ;

        $campos.each(function() {
            $input    = $(this),
            name    = $input.attr('name');

            $input.attr('name', name.replace(regex, '[' + index + ']'));
        });
    });
};

</script>[/code]

o que acontece? o que vc já conseguiu fazer?