Carregar campos vazios[RESOLVIDO]

Bom tarde pessoal estou com um pouco de dificuldade em um cadastro de produto e item, na verdade no item é o seguinte eu carrego um lista e mando uma lista, até aí beleza…
O que eu quero é o seguinte quando a lista for vazia ele carrega os campos para entrar com as informações em uma tabela, e quando tiver registro que ele carregue mais uma linha em branco para entrar com os dados, espero que tenha conseguido passar o meu problema abaixo segue o jsp e classe dao e controller, a propósito estou usando Vraptor.

parte do JSP:

...
<form name="itemForm" id="itemForm" action="<c:url value="/item/adicionaItem"/>" method="post">
			
	<table class="tableitem table">
				<thead>
					<tr>
						<th>Cód. item</th>
						<th>Cód. de barra</th>
						<th>Sub. descrição</th>
							......
						
					</tr>
				</thead>
			
				<tbody>
					<c:forEach items="${itemList}" var="item" varStatus="s"> 

						<input id="estab" class="limpar" type="hidden" value="${item.filial.estab}" 
                                name="item[${s.index}].filial.estab" >
                                
                                 <input id="idproduto" class="limpar" type="hidden" value="${item.produto.idproduto}" 
                                name="item[${s.index}].produto.idproduto">
                            <tr>
                                <td >                                
	                                <input id="iditem" class="limpar inputForm" type="text" value="${item.iditem}" 
	                                name="item[${s.index}].iditem" readonly="readonly" size="10">
                                 </td>
                                 <td >                                
	                                <input id="codbarra" class="limpar inputForm" type="text" value="${item.codbarra}" 
	                                name="item[${s.index}].codbarra" maxlength="40" size="40">
                                 </td>
                                 <td >                                
	                                <input id="subdescricao" class="limpar inputForm upper" type="text" value="${item.subdescricao}" 
	                                name="item[${s.index}].subdescricao" maxlength="40" size="40">
                                 </td>
                                 
			                            

                                     ......

				  	</c:forEach>				  	
				</tbody>
				</table>		
			</form>
....

Classe Controller:

 @Get
    @Restrito
    @Path({"/item/", "/item/{idproduto}"})
    public List<Item> item(Integer idproduto) {
        List<Item> list = null;
        try {
            list = dao.lista(idproduto);

        ....

        }
        return list;

    }

Classe Dao:

public List<Item> lista(Integer produto) throws HibernateException,
			Exception {		
			List<Item> list = null;
			if (produto == null) {
				produto = 0;
			}
			try {

				Criteria criteria = session.createCriteria(Item.class)
						.addOrder(Order.asc("iditem"));
				criteria.createAlias("produto", "idproduto");
				criteria.add(Restrictions.eq("produto.idproduto", produto));
				list = criteria.list();

				....
			}
			return list;

	}

vc pode fazer na jsp:

<c:if test="${empty itemList}"> sua lógica aqui </c:if>

tipo eu estou utilizando o taglib <c:forEach>

porque quando ela vem vazia não carrega os campos, eu gostaria que quando viesse vazio ou tivesse por ex 2 registros ele carregasse mais uma linha em branco para eu entrar com mais registros, porque que se eu colocar <c:if> dentro do <c:forEach> ele não faz a verificação.

eu gostaria que fosse assim para quando eu salvar eu mandar uma lista só, porque tu fiz aqui quando eu tenho dois registros e quero add mais um, ele vai enviar a lista e depois enviar o novo reg.

para ser mais direto eu gostaria que a tag <c:forEach> carregasse os campos mesmo quando a lista é vazia para eu entrar novo reg, e quando já tiver reg que ela carregasse os campos em mais uma linha em branco.

é pra colocar o c:if fora do c:forEach mesmo, depois dele

Mas desse jeito não vai dar certo como eu quero, eu gostaria que no list lá do dao, que ele carregasse mais uma posição, por exemplo se tiver [0], [1] com dados ele carregue, mais a posição da lista [2], por exemplo com o iditem = 0, que daí ele carregaria os dois itens no caso de uma edição, e mais uma linha que seria a posição[2] da lista em os campos vazios para eu entrar com os dados caso eu queira incluir mais um registro.

A consegui resolver do jeito que gostaria com ArrayList ele só add mais uma posição.

Valeu pela ajuda.