JSP - request.getParameterValues() não funciona

E ai pessoal, alguém pode me ajudar?

É o seguinte, estou fazendo um trabalho da faculdade em JSP (aprendendo por conta), e tenho um form meio gigante na pagina X, coloquei a parte que interessa:

<td>
    <select name="npart" size="10" multiple style="width: 100pt">
    <% 
    AlunoDAO alunoDAO = new AlunoDAO();
    alunoDAO.selecionarAlunos();
    String name, email;
    int codigo;
    try{
        alunoDAO.bd.resultSet = alunoDAO.bd.callableStatement.executeQuery();
    	while(alunoDAO.bd.resultSet.next()){
    	    codigo = alunoDAO.bd.resultSet.getInt(1);
    	    name = alunoDAO.bd.resultSet.getString(2);
    	    email = alunoDAO.bd.resultSet.getString(3);
   %>
   <option id="<%=codigo %>" value="<%=codigo%>"><%=name %></option>
   <%
       }
   }catch(SQLException e) {
    	e.printStackTrace();
    }
    %>
</select>
</td>
<td>
<p>
    <input type="button" name="insere" value="&gt;&gt;" onclick="TrocaList(document.form.npart,document.form.part);" />
</p>
<p>
    <input type="button" name="remove" value="&lt;&lt;" onclick="TrocaList(document.form.part,document.form.npart);" />
</p>
</td>
<td>
<select name="part" size ="10" multiple style="width: 100pt"></select>
</td>

E a função javascript TrocaList:

function TrocaList(ListOrigem,ListDestino)
{
    var i;
    for (i = 0; i < ListOrigem.options.length ; i++)
    {
        if (ListOrigem.options[i].selected == true)
        {
            var Op = document.createElement("option");
            Op.text = ListOrigem.options[i].text;
            Op.value = ListOrigem.options[i].value;
            ListDestino.options.add(Op);
            ListOrigem.remove(i);
            i--;
        }
    }
}

Na página Y que é chamada pelo form, tenho o seguinte scriptlet:

<jsp:useBean id="usuarioDAO" class="com.arara.UsuarioDAO" scope="session"/>
<%
TrabalhoDAO trabalhoDAO = new TrabalhoDAO();
trabalhoDAO.trabalho.setCurso(Integer.parseInt(request.getParameter("curso")));
trabalhoDAO.trabalho.setDataFinal(request.getParameter("dataFinal"));
trabalhoDAO.trabalho.setProfessor(usuarioDAO.getCodigoReal());
trabalhoDAO.trabalho.setTema(Integer.parseInt(request.getParameter("tema")));
trabalhoDAO.trabalho.setSemestre(Integer.parseInt(request.getParameter("semestre")));
trabalhoDAO.trabalho.setTitulo(request.getParameter("titulo"));
String[] alunos = request.getParameterValues("part");
String[] alunos2 = request.getParameterValues("npart");
out.println(trabalhoDAO.trabalho.getSemestre());

No entanto, ao executar o request.getParameterValues(“part”) e o request.getParameterValues(“part”) estão retornando null mesmo com conteúdo. No javadocs o retorno null só é feito quando o parâmetro requisitado não existe.

Como posso pegar o valor dos select multiple?

Ta dentro de algum form?

Sim, ta dentro do form que tem o name=“form” para funcionar o javascript.

o seu erro.

<option id="<%=codigo %>" value="<%=codigo%>"><%=name %></option>

Você tem atribuir o nome a tag name. name=“part”

<option id="<%=codigo %>" name="part" value="<%=codigo%>"></option>

Cara deveria funcionar, acho que seu javascript ta melecando tudo…

…tira a chamada do javascript e testa!!

Cara, o name utilizado não é o do select? Acho que o option nem precisa de name não?

Vou testar sem chamar o Javascript.

Exatamente.

testa e me fala!

Removi o Javascript e as chamadas a ele e continuo com null…

Esse tá f#%$…

um detalhe, olhou se os nomes estao escritos direitinhos? ja tive varios problemas por erro de digitacao, devido a um teclado da M$ que eu tinha.

flw!

[quote=LPJava]um detalhe, olhou se os nomes estao escritos direitinhos? ja tive varios problemas por erro de digitacao, devido a um teclado da M$ que eu tinha.

flw![/quote]

Cara, já vi isso várias vezes hehehe, o problema é que tenho que entregar essa aplicação semana que vem e não consigo terminar isso!!

Cara tu num vai acreditar, mas eu estava com o mesmo problema que vc. Por sorte eu coloquei assim String [] array = request… e foi, e pelo que eu vi vc está colocando sem espaço, assim String[] array …
Tenta isso ai, aqui funcionou.

Flw