SORU
2 Temmuz 2010, Cuma


Neden bir şablon motoru kullanır mıydım? jsp ve vs fayans, freemarker, hız, sitemesh vardır jstl

Yol için benim görüşüm (spring-mvc ile, ama bu çok önemli değil) organize seçmek üzereyim

6 seçenekler gördüğüm kadarıyla birbirini dışlayan olmadığı halde () var:

  • Fayans
  • Sitemesh
  • Freemarker
  • Hız
  • <jsp:include>
  • <%@ include file="..">

FayansveSitemeshtoplayabiliriz;FreemarkerveHız. Kullanmak için, her bir grup içinde bu bir tartışma konusu değil, bu konuda yeterince soru ve tartışmalar var.

** 15, ama oldukça benim fayans kullanmak için ikna edemez.

Benim sorum -bu çerçeveler düzgün yapılabilir mi ne veriyorsun<@ include file=".."> ve JSTL. Ana noktaları (bazı makale alınan):

  1. Sayfa bölümleri de dahil olmak üzere, üstbilgi ve altbilgi gibi- arasında bir fark yok:

    <%@ include file="header.jsp" %>
    

    ve

    <tiles:insert page="header.jsp" />
    
  2. Başlıktaki tanımlama parametreleri- başlık, meta etiketleri, vb. Bu çok önemli, özellikle bakış SEO açısından. Şablon seçenekleri ile sadece her sayfa tanımlamak gereken bir yer tutucu tanımlayabilirsiniz. Ama jsp edebilirsinizJSTL, <c:set> (sayfa) ve <c:out> (Bu sayfa dahil) kullanarak

  3. Düzeni yeniden- menü yukarıdaki kırıntı taşımak istiyorsanız, ya da başka yukarıda giriş kutusu-panel yan. Eğer sayfa kapanım (jsp) iyi organize değilse, bu gibi durumlarda her bir sayfayı değiştirmeniz gerekebilir. Ama düzeni aşırı karmaşık değildir, ve üstbilgi/altbilgi ortak şeyler koyarsanız, endişelenecek bir şey yok.

  4. Ortak bileşenleri ve belirli içerik arasındaki bağlantı- Bu bir sorun bulmuyorum. Eğer bazı parçasını yeniden kullanmak istiyorsanız, herhangi bir başlık/altbilgi içermez, gereken yerlere onu içeren sayfaya taşıyın.

  5. Verimlilik- <%@ include file="file.jsp" %> Bir kez derlenmiş olduğundan başka bir şey daha etkilidir. Tüm diğer seçenekler/birçok kez idam ayrıştırıldı.

  6. Karmaşıklığı- olmayan tüm jsp çözümleri ek xml dosyaları, ek içerir gerektirir, ön-işlemci yapılandırmaları, vb. Bu hem bir öğrenme eğrisi ve başarısızlık potansiyeli daha fazla puan getiriyor. Ayrıca, desteklemek ve değiştirerek daha sıkıcı yapar - neler olduğunu anlamak için dosyalar/yapılandırmaları bir dizi kontrol etmelisiniz.

  7. Yer tutucular- hız/freemarker bir şey JSTL daha verir mi? JSTL yer tutucu koymak ve modeli (denetleyicileri tarafından talep veya Oturum kapsamında yer) bu yer tutucular doldurmak için kullanılır.

Yani, düz JSP yanı sıra/yerine yukarıdaki çerçeveleri herhangi bir şekilde kullanılması gerektiğini beni ikna et.

CEVAP
2 Temmuz 2010, Cuma


Hız için birkaç bağımsız değişken (Freemarker kullanmadım):

  • Yeniden kullanım için potansiyel bir web içeriği, e-mail gönderme gibi dışında şablonlar
  • Hız şablon dili sözdizimifarya da etiket kitaplıkları JSP EL daha basit
  • Görünüm katı ayırma şablonları mantık başka tür - komut dosyası uygulamacığı etiketleri ve kötü şeyleri yapmak için aşağı açılır için olası bir seçenek mantığı.

Yer tutucular - hız/freemaker bir şey JSTL daha verir mi? JSTL yer tutucu koymak ve modeli (denetleyicileri tarafından talep veya Oturum kapsamında yer) bu yer tutucular doldurmak için kullanılır.

Evet, references gerçekten süreci durdurmak çekirdek:

<b>Hello $username!</b>

ya

#if($listFromModel.size() > 1)
    You have many entries!
#end

Etkinlik - <%@ include file="file.jsp" %> bir kez derlenmiş olduğundan başka bir şey daha etkilidir. Tüm diğer seçenekler/birçok kez idam ayrıştırıldı.

O kadar emin katılıyorum ya bu noktayı anlamıyorum. Velocity şablonları yerine, her zaman diskten önbelleğe okunacak ayrıştırıldı onlar soyut sözdizimi ağacı anlamı önbellek için bir seçenek vardır. Her iki şekilde de (ve bunun için sağlam bir numaraları yok), Hız her zaman hissettimhızlıbenim için.

Eğer menü yukarıdaki kırıntı ya da giriş kutusu üzerinde taşımak istiyorsanız düzeni çerçevesinde bir panel yan. Eğer sayfa kapanım (jsp) iyi organize değilse, bu gibi durumlarda her bir sayfayı değiştirmeniz gerekebilir. Ama düzeni aşırı karmaşık değildir, ve üstbilgi/altbilgi ortak şeyler koyarsanız, endişelenecek bir şey yok.

Fark, JSP bir yaklaşımla, aynı üstbilgi/altbilgi kullanan yeniden organzing her JSP dosyasında bu düzen olmazdı. Fayans ve SiteMesh izin belirtmek için bir temel sayfa düzeni (JSP, Hız şablon, vb - hem JSP çerçeveler kendi kalp) burada belirtebilirsiniz ... istediğini ve o zaman sadece temsilci için bir "içerik" bölümü/şablon için temel içerik. Bu başlığı taşımak için sadece bir dosya var olduğu anlamına gelirdi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • psidot

    psidot

    2 Kasım 2006
  • segtlim

    segtlim

    21 EKİM 2008
  • Shanice Caruthers

    Shanice Caru

    27 EKİM 2011