Struts html:select selected

6 respostas
andrepestana

Olá, pessoal!

Não conseguí fazer para que uma lista de seleção ficar pré selecionada no Struts. Abaixo está a parte do JSP que mostra a lista:
<html:select property="idCliente" name="empresabean" onfocus="nextfield ='endereco';" onchange="var goLocation = this.options[selectedIndex].value; location.href='Nota.do?idCliente='+goLocation;" >
								 
<html:options collection="empresas" property="idCliente" labelProperty="razaoSocial" /> 
									
</html:select>
Pelo que pesquisei, eu deveria setar o idCliente que é a property:
<html:select property="idCliente" >

mas não sei como setar o idCliente no Servlet...alguém teria um exemplo disso?

Obrigado desde já!

Pestana

6 Respostas

danieldestro

No seu caso idCliente deveria ser um atributo do seu Form bean.

andrepestana

Já tentei mudar idCliente para um atributo do meu formbean mas se faço isso, a página JSP nem completa o carregamento.

Alguém tem um exemplo disso que esteja funcionando?

Pestana

danieldestro

Então você está fazendo algo errado.

Assim deveria funcionar:

public class EmpresaBean extends ActionForm { private Integer idCliente; //get e set para idCliente }

andrepestana

Mas o q estou fazendo de errado?

para popular o bean, não uso o formbean, uso uma collection de objetos do tipo EmpresaBean:

<html:select property="idCliente" name="empresabean" onfocus="nextfield ='endereco';" onchange="var goLocation = this.options[selectedIndex].value; location.href='Nota.do?idCliente='+goLocation;" >
								 
<html:options collection="empresas" property="idCliente" labelProperty="razaoSocial" /> 
									
</html:select>

Alguém me dê uma sugestão, por favor!

obrigado,

danieldestro

Ele está procurando a propriedade idCliente na sua colection EmpresaBean. Isso está errado.

andrepestana

Achei o erro....

eu achava q o atributo name da tag html:select tinha de ser o nome do bean usado para popular o select:

<html:select property="idCliente" name="empresabean" onfocus="nextfield ='endereco';" onchange="var goLocation = this.options[selectedIndex].value; location.href='Nota.do?idCliente='+goLocation;" >
								 
<html:options collection="empresas" property="idCliente" labelProperty="razaoSocial" /> 
									
</html:select>

mas descobrí q era pra fazer como os outros elementos do form:

<html:select property="idCliente" name="notaForm" onfocus="nextfield ='endereco';" onchange="var goLocation = this.options[selectedIndex].value; location.href='Nota.do?idCliente='+goLocation;" >
								 
<html:options collection="empresas" property="idCliente" labelProperty="razaoSocial" /> 
									
</html:select>

notaForm é o meu formbean...

desculpa a trapalhada..valeu!

Pestana

Criado 31 de janeiro de 2005
Ultima resposta 31 de jan. de 2005
Respostas 6
Participantes 2