Null em <html:select> como fazer?

5 respostas
rvaldomiro

Amigos, estou com o seguinte problema:

Tenho duas classes Usuario e UnidadeNegocio onde um Usuario pode pertencer a uma Unidade de Negócio, fiz o relacionamento no hibernate bonitinho e está tudo bem… o problema é que este relacionamento não é obrigatório, ou seja, o Usuario pode ou não pertencer a tal Unidade de Negócio… mesmo assim tudo bem pois ao carregar o usuário a propriedade unidadeNegocio vem “nula” correto!!! o meu problema está e como apresentar isso na página struts pois tenho uma combo com as Unidades de Negócio disponíveis e quanto a propriedade do bean vem nula num funfa :cry: :cry: :cry: como por exemplo em uma inclusão… teria que ter uma opção tipo: “Não Selecionado” + como relacionar isso com o formulário :arrow:

<html:select styleClass="formComponent" property="unidadeNegocio.codigo">
     <html:options collection="UnidadesNegocioView" property="codigo" labelProperty="nomeFantasia" />
</html:select>

como faço pra contornar este problema??? :arrow:

Vlw :!:

5 Respostas

rmlang

Cara, eu estou começando a usar o struts e já tive uma situação semelhante.

Olha só: eu tenho que apresentar 2 combos sendo que um está em branco. Incluí na Action a seguinte linha para o segundo combo e não ocorreu mais problema:

queryForm.setCamposDstOptions(new ArrayList());

Espero que isso te ajude.

[]'s

Robert

ricardolecheta

utilizem o logic:notEmpty ou logic:notPresent para validar se o objeto existe, senão o struts é burro mesmo e vai dar pau :wink:

<logic:notEmpty .....> 
          <html:select...
</logic:notEmpty>
rmlang
"ricardolecheta":
utilizem o logic:notEmpty ou logic:notPresent para validar se o objeto existe, senão o struts é burro mesmo e vai dar pau :wink:
<logic:notEmpty .....> 
          <html:select...
</logic:notEmpty>

Essa é uma boa solução para quando vc não precisa apresentar o objeto.
No meu caso, eu precisei apresenta-lo sem conteúdo, pois os dados seriam inseridos dinamicamente com JavaScript.

rvaldomiro

Eu deixei uma opção (Não Selecionado) como default assim mesmo se minha coleção vier vazia eu trato isso posteriormente na Action… à propósito estou com um problema:

Como faço pra setar os campos do ActionForm à partir da minha Action? pq o que estou fazendo ta dando certo + sei que não é correto pois somente estou conseguindo setálos no evento reset() do form. Minha aplicação é +/- assim:

listaAssociados.jsp -> ListaAssociadosAction -> CadastroAssociadoForm -> cadastroAssociado.jsp -> CadastroAssociadoAction

é assim que eles trabalham porém qdo estou no ListaAssociadosAction não consigo popular os valores de CadastroAssociadoForm para que apareçam devidamente preenchidos em cadastroAssociado.jsp deu pra entender?!?!?!

[]´s

rmlang

Deve ser mais ou menos assim:

seuAction:

ArrayList select = new ArrayList(); for (int i=0; i<10; i++) { select.add(new LabelValueBean("Label "+String.valueOf(i), String.valueOf(i))); } seuForm.setSelect(select);

[]'s

Robert

Criado 7 de outubro de 2004
Ultima resposta 14 de out. de 2004
Respostas 5
Participantes 3