Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JAVA Tomcat] Sito web multilingua

    Buon giorno a tutti

    Sto studiando orma da 5 giorni il server engine tomcat per lo sviluppo di application server.

    Proprio questa mattina mi sono svegliato con una domanda in mente:
    Se io volessi sviluppare un sito multilingua utilizzando il pattern MVC qual'è il miglior modo (considerando la manutenibilità dei file di template e le pefformance di rendering del template) di costruire dei template multilingua?

    Sto utilizzando FreeMarker come template engine

    In un primo momento ho pensato che avrei potuto mettere delle variabili in corrispondenza dei vari "label" multilingua, e di volta in volta richiamando il file della lingua richiesta avrei potuto renderizzare le pagine nelle varie lingue.

    Questo tipo d'approccio seppur funzionale dal punto di vista della manutenzione ha un grosso difetto cioè le pefformance.

    Quindi la domanda è come fanno le grandi web application ad avere siti in multilingua?

    Grazie mille a TUTTI in anticipo
    Andrea

  2. #2

    Moderazione

    Le discussioni relative a Java non sono trattate qui, ma nell'apposita sottosezione.

    Provvedo a spostare il thread.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Quindi la domanda è come fanno le grandi web application ad avere siti in multilingua?
    Nei siti "multi-lingua" generalmente quello che cambia sono solo le varie diciture, non il layout complessivo (ci possono ovviamente essere casi particolari in cui il layout deve anche cambiare).

    Cioè in genere la pagina JSP (o altro template a seconda di cosa si usa come template-engine) è sempre quella e si mettono all'interno della pagina delle "espressioni" (detto molto in generale!) che vanno a pescare i testi da dei file separati. In Java in genere sono file di properties.

    Con JSP di "base" (senza usare framework particolari come Spring) si può usare JSTL ed utilizzare il suo custom tag <fmt:message> (in genere insieme agli altri della libreria fmt). Questo permette di prendere le diciture da dei resource bundle che in genere sono dei file di properties.

    Con FreeMarker onestamente in questo momento non so dirti se c'è la possibilità di fare una cosa equivalente ma credo (spero ..) di sì.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Praticamente utilizzando questi file "properties" o bundle il problema che il sistema deve aggiungere ad ogni richiesta della pagina tutti i "messaggi" della lingua corrispondente all'output generato non sorge più perche se utilizziamo un framework questo li dovrebbe già mettere in cache e a quel punto verrebbero fetchati solamente le variabili?

    Mi sembra di capire che spring è un ottimo framework per il template engine?

    È da poco che studio tomcat, e da quel poco che ho potuto vedere da una servlet non posso richiamare un file .jsp ed usarlo come file di template a questo punto in java devo per forza di cose usare un template engine per generare html in una servlet, sbaglio qualcosa?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Mi sembra di capire che spring è un ottimo framework per il template engine?
    Spring non è un "template engine". È un framework per semplificare lo sviluppo di applicazioni Java, specialmente quelle di livello "enterprise" e copre talmente tanti aspetti che non riuscirei a ricordarli tutti ora.

    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    È da poco che studio tomcat, e da quel poco che ho potuto vedere da una servlet non posso richiamare un file .jsp ed usarlo come file di template a questo punto in java devo per forza di cose usare un template engine per generare html in una servlet, sbaglio qualcosa?
    Da una Servlet puoi perfettamente fare un "forward" ad una pagina JSP che fa quindi da "view" (vista). E quando si usa questo (buon) approccio, la servlet dovrebbe fare solo elaborazioni (niente output sulla response), inserire nel request scope i bean che servono e poi alla fine fare il forward ad una pagina JSP, che preleverà e visualizzerà i dati nel request scope usando preferibilmente dei custom tag (come quelli di JSTL o altra tag library).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Con JSP di "base" (senza usare framework particolari come Spring) si può usare JSTL ed utilizzare il suo custom tag <fmt:message> (in genere insieme agli altri della libreria fmt). Questo permette di prendere le diciture da dei resource bundle che in genere sono dei file di properties.
    Ok per sping, se con freemarker non posso usare questo tipo di approccio, quale framework o template engine posso usare per avere dei file di template in cache già con la lingua fetchata utilizzando i tag da suggeriti?

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.