Ciao!!
Sto creando un'applicazione web con Spring e sto avendo qualche problema nell'ordinare i risultati di una query.
Tale query è la classica query di autocomplete di un form e quindi, se viene inserito 'java' vorrei mi visualizzasse nell'ordine (per esempio):
  • Java
  • Javascript
  • Framework Java
  • ...


Insomma, vorrei un ordinamento per pertinenza.
Ero riuscito a risolvere con una query particolare, ma nel passaggio dei dati tra il controller e la view (che purtroppo DEVE avvenire con una Map...) l'ordine mi viene perso...

A questo punto ho pensato di inserirli in ordine alfabetico (meglio di niente...in fin dei conti quel che più mi importa è avere per primo quello che è stato inserito!) con questo metodo della mia view:
Codice PHP:
protected void renderMergedOutputModel(Map mapHttpServletRequest request,
            
HttpServletResponse responsethrows Exception {

        
Map m = new TreeMap(map);
        
Set set m.entrySet();
        
        
Iterator i set.iterator();
        while(
i.hasNext()) {
            
Map.Entry me = (Map.Entry)i.next();
            
response.getWriter().write(me.getKey()+"|"+me.getValue()+"\n");
        } 
Il problema è che in questo caso i caratteri maiuscoli mi vengono considerati prima dei caratteri minuscoli...

Ad esempio, se inserisco 'java' il risultato ottenuto è del tipo:
  • JSON-RPC-Java
  • Java
  • Java Cups
  • Java Servlet Technology
  • ...


Insomma, mette JSON-RPC-Java prima di tutti perché è composto di tutte lettere maiuscole...

Esiste un qualche metodo per rendere questo ordinamento key-unsensitive???

Grazie, ciao!!