2009-07-24 11 views
6

So che esiste una libreria denominata FreeMarker per creare modelli di email per Java. Pensi che questa libreria sia adatta per l'uso in progetti aziendali? Ci sono altre librerie per creare un modello di email per java?Libreria modello email in Java

+0

puoi suggerire un tutorial sul freemarker per creare modelli java mail per java –

risposta

11

Freemarker funziona bene, ed è molto potente. Velocity ha una sintassi più semplice, è un po 'meno potente ed è molto più tollerante. null (variabili non popolate).

Ho usato entrambi e Velocity è molto facile da utilizzare. Freemarker (nonostante la sua implementazione più severa) offre molto di più in termini di "correttezza" e facilità.

3

sì, lo è. Per ragioni di completezza ci sono altre librerie interessanti come:

  • velocità apache
  • stringa templace
3

Un certo numero di anni fa ho scritto un'applicazione per l'invio di notifiche di fatturazione. Ho usato Velocity per creare i contenuti effettivi delle e-mail. Il trasporto è stato fornito da James, il server di posta elettronica di Apache. Questa applicazione invia ogni giorno 10 o più migliaia di e-mail personalizzate.

La velocità non mi ha dato problemi, ma avendo avuto una certa esperienza con FreeMarker, probabilmente selezionerei FreeMarker ora.

2

Solo per la cronaca, ci sono molti altri template engines che è possibile utilizzare, e non solo per e-mail. Nella maggior parte dei progetti su cui ho lavorato, è stato utilizzato Velocity e, quando non era Velocity, era Freemarker.

1

Un'altra opzione che si desidera esaminare (anche se probabilmente non lo è) è utilizzare JSP, se ci si trova in un ambiente servlet. Per la maggior parte, non lo consiglierei poiché è davvero un bel po 'di lavoro iniziale per ottenere questo set up.

Tuttavia, questa è stata una soluzione utile nel nostro ambiente, in cui abbiamo un gruppo di sviluppatori Web che hanno già familiarità con la sintassi JSP e tag personalizzati. È stato bello essere in grado di farli lavorare direttamente sui contenuti delle e-mail senza dover imparare un'altra lingua di template (anche se sono sicuro che FreeMarker probabilmente non è così difficile da imparare). Questo approccio ci consente anche di riutilizzare alcuni dei nostri tag personalizzati nel contenuto dell'e-mail.

0

Nel settore aziendale molte persone utilizzano strumenti come sonar o PMD per dare un'occhiata alla complessità del codice. Non so se uno di questi supporti qualsiasi libreria di template. Tuttavia, il livello di complessità dei template che ho recensito in natura era di alto livello, mi piacerebbe davvero evitare il mio codice. Ho cercato di refactoring alcuni di loro, e anche se ho fatto un po 'di successo i risultati non sono mai stati soddisfacenti. Qualche giorno fa ho rifattorizzato un modello 2kLoC in 150 linee di codice template e circa 1.5kLoC logic in una nuova classe java usando Snippetory. Naturalmente questo ha lasciato ancora un po 'di lavoro per trovare le metriche, ma ora è possibile ottenere un codice gestibile. I modelli frammentari offrono una grande separazione delle preoccupazioni spostando la logica di associazione dei dati dal modello. Come bonus, il modello diventa più riutilizzabile. D'altra parte il legame tra logica e codice richiede anche un po 'di codice. Alla fine la quantità di codice non è cambiata molto, ma la leggibilità è aumentata notevolmente.

Per il business aziendale suggerirei Snippetory.

1

Prima di iniziare a creare il mio modello di posta elettronica, ho pensato di chiedere a gFriend e mi sono imbattuto nell'idea di utilizzare il motore JSP per i template (se ci si trova in un ambiente servlet).Ho trovato l'originale idea e perfetto per le mie esigenze dato che sono sotto GAE e l'aggiunta di vaso per GAE è una decisione molto costosa (impatto sulle prestazioni)

E come sono arrivato a quel link (l'idea originale) https://stackoverflow.com/a/458088/2033675

così ho messo un link al come farlo Suggestions for Java email templating?

naturalmente nel caso in cui qualcuno avrà le stesse vincoli come faccio io.

Miglior

2

Sono l'autore del motore di Pebble di template che credo sia esattamente quello che stai cercando.