Problemas ao popular um ComboBox (com o fucking <html:select>)

Pessoal,

Estou recorrendo ao site como última alternativa, pois não consigo entender o que acontece com a minha aplicação.

É o seguinte, estou utilizando o Struts, mais especificamente a tag html:select, na hora de popular não gera nenhum erro, porém, o combo vem com x vezes ( x = MyList.size() ), um único dado…

Os códigos são:

public class ConsultaAction extends Action {

public ActionForward execute( ActionMapping map, 
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response ) {

	ActionForward forward = new ActionForward();

	try {
		
		String nomeCredor = request.getParameter( "credor" );
		ConsultaForm consulta = (ConsultaForm) form;
		Collection<ConsultaForm> comboList = new ArrayList<ConsultaForm>();
		
		consulta.setNomeCredor( nomeCredor );
		
		if( nomeCredor.equals("finasa") ) {
			
			consulta.setTipoRelatorio( "Seleção Analítico " );
			consulta.setLinkRelatorio( "/creditone/index.do?relatorio=finasa&type=analitico" ); 
			comboList.add( consulta );
			consulta.setTipoRelatorio( "Seleção Analítico 2" );
			consulta.setLinkRelatorio( "/creditone/index.do?relatorio=finasa&type=analitico2" );
			comboList.add( consulta );
			consulta.setTipoRelatorio( "Seleção Analítico 3" );
			consulta.setLinkRelatorio( "/creditone/index.do?relatorio=finasa&type=analitico3" );
			comboList.add( consulta );
			
			
		}else if( nomeCredor.equals("bv") ) {

			consulta.setTipoRelatorio( "Seleção Analítico" );
			consulta.setLinkRelatorio( "/creditone/index.do?relatorio=bv&type=analitico" );
			comboList.add( consulta );
			
		}else if( nomeCredor.equals("daycoval") ) {

			consulta.setTipoRelatorio( "Seleção Analítico" );
			consulta.setLinkRelatorio( "/creditone/index.do?relatorio=daycoval&type=analitico" );
			comboList.add( consulta );

		}
		
		request.setAttribute( "comboList" , comboList );
		
		forward.setPath( "/relatorio.do" );
		
	}catch( Exception e ) {
		e.printStackTrace();
		
	}

	return forward; 
}

}

e

.
.
.
<html:form action="/initial" method=“post”>


Teste

<html:select property=“tipoRelatorio” styleClass=“selectBox”>
<html:options collection=“comboList” property=“tipoRelatorio” />
</html:select>


</html:form>

Tente assim:


<html:select property="tipoRelatorio" styleClass="selectBox"> 
<html:options collection="comboList" property="tipoRelatorio" labelProperty="linkRelatorio"/> 
</html:select> 

O que falta é a utilização do labelProperty. Faça a alteração necessária conforme a estrutura que você utiliza, no caso um ArrayList de classe.

labelProperty é o que será exibido no combo box e property é o que será utilizado como value.

Juliano, muito obrigado pela resposta, só que vc vai ter que me desculpar pelo esquecimento.

Era pra eu ter postado esse trecho de código exatamente como vc postou, ou seja, mesmo com todas essa recomendações o erro persiste!

Valeu, mas outra alternativa?

Para agregar mais alguma coisa no entendimento do problema, vou mostrar o resultado do Combo já populado!

PROBLEMA RESOLVIDO!!!

Era tão simples que nem me dei conta, só criei mais de um objeto (ConsultaForm) e add na Collection!!!