Carregando um Combo Box

Olá pessoal, estou desenvolvendo um projeto academico em Struts 1.1, e gostaria de saber qual seria a melhor forma de popular um combo box.

Raciocinio, usuario ao requisitar a pagina, alguma classe tem que povoar o “combo box”, ? Certo ou errado?

minha segunda duvida

Se eu tenho varios tipos, como por exemplo
Dentro de Usuário eu tenho
Tipo:
Status status
Perfil perfil

como vou enviar para a tela,

Espero que eu tenha sido claro, se não eu melhoro…

Desde ja obrigado

vou ter que enviar perfil e enviar status…

Olá

Primeira dúvida.

Existem duas formas de fazer isso cara, primeiro em algum dos Action que você criou você pode adicionar a sessão o valor recuperado do banco como um list, e depois é só recuperar no jsp tanto pela tag Iterate do struts ou gerando uma iteração em Scriptlet mesmo sendo a secunda um pouco mais chata .

E dentro de uma dessas iterações você adiciona as linhas do seu Select do html.

Segunda dúvida.

Dá mesma forma que você adicionou um valor na sessão anteriormente deve adicioná-lo agora em atributos de sessão diferentes. Um atributo para cada ítem.

Espero ter ajudado.

Existe uma terceira maneira também, use jstl a tag forEach, melhor que a tag do Struts que só funciona com ele e mais elegante que scriplet.

<select name="empresaSolicitante">
    <option value="">.. Selecione ..</option>
    <c:forEach var="empresasoli" items="${empresasolicitante}">
       <option value="${empresasoli.codigo}">
              ${empresasoli.descricao}
       </option>
    </c:forEach>
</select>

Beleza eu havia me esquecido dessa … obrigado

Olá Muito obrigado pelas resposta, vou implementar

obrigado…

Atenciosamente

Que tal assim

&lt;html:select property="empresaSolicitante"&gt; &lt;html:option value=""&gt;.. Selecione ..&lt;/html:option&gt; &lt;html:options collection="empresasolicitante" property="codigo" labelProperty="descricao" /&gt; &lt;/html:select&gt;

:wink:

Olá pessoal fiz o seguinte, testei das duas manerias
Pedrosa e plentz, então fiz assim

<SELECT property="pais" onchange="this.form.action = 'listEstadosCidades.do'; submit();">
	     		<OPTION value="">.. Selecione ..</OPTION>
			<c:forEach var="listPais" items="${listPais}">
		        <OPTION onchange="${listPais.codigo}"     value="${listPais.codigo}">
       	       ${listPais.descricao}
      	    	</OPTION>
</c:forEach></SELECT></TD>

ou assim

<html:select property="pais" onchange="JavaScript:loadCombo()">
	 	<html:option value="">.. Selecione ..</html:option>
	 	<html:options collection="listPais" property="codigo"	labelProperty="descricao" />
	 </html:select>

Então esse onchange, ele chama o action que irá popular meus estados, porem o valor de Pais volta para o estado inicial, no caso valor “” e selecione. Todos os outros campos se caso eu tiver preenchido ele volta com o valor anteriormente preenchido.

Ex. coloquei nome, João, Endereço: rua tal, ai vou escolher pais, ele faz um submit, passa pelo action responsável mas volta vazio… e outos campos voltam preenchidos…

Alguem pode me dar alguma sugestão

Estou com o mesmo problema, volta com o valor anteriormente preenchido. Alguém saberia uma solução?