What I had to do was put the element I want to pre-select in the List in
index 0 of my ArrayList. The problem was I made all the logic for the first
element be on the position 0 and the rest in the Natural Sort Order.

Here is the code:

public static List<Empresa> ordenaEmpresasEspecial(List<Empresa>
empresas){                              class OrdenaEmpresaPorDataCriacao 
implements
Comparator<Empresa> {                   @Override                       public 
int compare(Empresa o1,
Empresa o2) {                                                           
Calendar dataO1 =
Calendar.getInstance();                         Calendar dataO2 =
Calendar.getInstance();                                                         
dataO1.setTime(o1.getDtCadastro());                             
dataO2.setTime(o2.getDtCadastro());                                             
                boolean
o1After = dataO1.after(dataO2);                                                 
        if
(o1After){                                      //System.out.println("debug 
empresa "+o1.getNome()+"
depois de "+o2.getNome());                                      return -1;      
                        } else
{                                       //System.out.println("debug empresa 
"+o1.getNome()+" antes de
"+o2.getNome());                                        return 1;               
                }                                                       }       
                                } // fim
classe          Empresa empresaMaisRecente =
null;                           Collections.sort(empresas, new
OrdenaEmpresaPorDataCriacao());                         empresaMaisRecente =
empresas.get(0);                                //System.out.println("debug 
empresa mais recente
minha data "+empresaMaisRecente.getDtCadastro()+ "
"+empresaMaisRecente.getNome());                                
Collections.sort(empresas); // de
volta na ordem natural alfabetica pelo nome de cada empresa                     
        //
ciclando nas "empresas" para pegar a empresa mais recente criada,
remove da posicao atual e recolocar na          // no index 0 da List           
                for
(int x = 0 ;  x < empresas.size() ; x++){                                       
        Empresa e =
empresas.get(x);                                                if 
(e.equals(empresaMaisRecente)){ // empresas
sao iguais pelo numero de id                                                    
        empresas.remove(x); // remove o
elemento                                empresas.add(0, empresaMaisRecente); // 
adiciona no
comeco                                                          
//System.out.println("debug a Empresa mais recente foi
colocada em primeiro lugar (elemento 0 na
list)");                                break;                  }               
                                                } // end for                    
        return empresas;        }







On Tue, Jun 21, 2016 at 9:44 AM, Christoph Nenning <
christoph.nenn...@lex-com.net> wrote:

> >
> > Hi,
> >
> >
> > as far as I remember it is just about the name of <s:select />
> >
> > > <s:select id="empresas" list="empresas" listKey="id" listValue="nome"
> > > name="pessoaForm.empresa"  label="Empresa" select="idDefaultSelection"
>
> > />*
> >
> > This means your action needs a member "pessoaForm.empresa" and that one
> > must be initialized with the preselected value.
> >
> > I don't think that you need the select attribute.
> >
>
>
> I got mail from Martin where he points out that you can use value
> attribute of select tag:
>
>
> <s:select .... value="defaultVal" ... />
>
>
> Of course you can use expressions to get it from action.
>
>
> Regards,
> Christoph
>
>
>
>
>
> >
> >
> >
> >
> > > From: Guilherme Bisconcini <guilherme.bisconc...@sefisa.com.br>
> > > To: user@struts.apache.org,
> > > Date: 20.06.2016 23:49
> > > Subject: How to pre-select a select combo box
> > >
> > > Hi,
> > >
> > > I'm trying to pre-select a select combo box, for 2 hours. No success.
> > Can
> > > anyone give some help?
> > >
> > > Here are the JSP file
> > > INIT >>>>> novaPessoa.jsp
> > >
> > > *<s:form id="formPessoa" action="registraNovaPessoa"
> theme="bootstrap"*
> > >
> > > * cssClass="well form-horizontal">*
> > >
> > >
> > > * <!--  Para montar objeto PessoaForm -->*
> > >
> > > * <s:bean name="br.com.xyz.portaria.controller.forms.PessoaForm"
> > > var="pessoaForm">*
> > >
> > >
> > > *                 ################## HERE ARE THE SELECTION COMBO
> BOX!*
> > >
> > > * <s:select id="empresas" list="empresas" listKey="id"
> listValue="nome"
> > > name="pessoaForm.empresa"  label="Empresa" select="idDefaultSelection"
>
> > />*
> > >
> > > * <!--  Botao nova EMPRESA AJAX -->*
> > >
> > > * <sj:a id="buttonNovaEmpresa" href="novaEmpresa"
> targets="funcional">*
> > >
> > > * <button type="button" class="btn btn-warning">Nova Empresa</button>*
> > >
> > > * </sj:a>*
> > >
> > > * <br>*
> > >
> > > * <br>*
> > >
> > > * <s:textfield id="nome" label="Nome Pessoa" tooltip="O nome COMPLETO
> da
> > > pessoa!" name="pessoaForm.nome" placeholder="Nome"
> > > value="%{pessoaForm.nome}" />*
> > >
> > > * <s:textfield id="rg" label="RG" tooltip="RG pessoa, tudo junto sem
> > > espaços!" name="pessoaForm.rg" placeholder="RG"
> value="%{pessoaForm.rg}"
> > />*
> > >
> > > * </s:bean>*
> > >
> > > * <!-- Textfield de motivo -->*
> > >
> > > * <s:textarea label="Motivo" tooltip="Digite o MOTIVO QUE A PESSOA VEI
> > > FAZER AQUI!" placeholder="MOTIVO; VAI FALAR COM QUEM? FAZER O QUE?"
> > > name="motivoEntrada" cols="20" rows="3"/>*
> > >
> > >
> > > * <sj:submit value="Registrar Entrada" cssClass="btn btn-primary"*
> > >
> > > * targets="funcional" />*
> > >
> > >
> > >
> > >
> > > *</s:form>*
> > >
> > >
> > > END <<<<<<<  novaPessoa.jsp
> > >
> > >
> > > The controller is nothing special, I have only a int declared
> > > "idDefaultSelection" with getter and setter who are supposed to send
> the
> > > parameter to the "select" option of the form above. What I'm doing
> > wrong?
> > >
> > > Thanks in advance
> > >
> > >
> > > Bisconcini
> >
> > This Email was scanned by Sophos Anti Virus
>
> This Email was scanned by Sophos Anti Virus
>

Reply via email to