Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Hem .net hem de java sürümü bulunan bir şablon motoru (template engine). Henüz c# ile birlikte kullanmayı yeni denedim hoşuma gitti.

Aslında template kullanma ihtiyacı nerden çıkıyor onu söylemek lazım. Özellikle web sitesi geliştirirken mvc paterni kullanılması güzel oluyor. Mvc paterninde ise, adı üstünde 'view' kendi başına ayrı bir olay. Özet olarak ekran görüntüsü ile ilgili kodlar sadece ama sadece view içerisinde olabiliyor bu paterne göre. Tabi web için ekran demek html kodu demek. Yalnız html kodunun içine, örneğin veritabanından gelen bilgileri yazmak gerekebiliyor. İşte bunun gibi, programlama dilindeki nesnelerin değerlerini hmtl içine yazmayı sağlayan bir yöntem sunuyor, template engine'ler.

Küçük bir örnek yapalım:
C# kodumuzda Kullanici diye bir class olsun.
public class Kullanici {
  public string Ad { get; set; }
  public string Soyad { get; set; }
}

Şöyle bir template yazabiliriz StringTemplate'e uygun olarak:
(C:\...\anasayfa.html)
<html>
<body>
<h3>$kullanici.Ad$ $kullanici.Soyad$, Hoşgeldiniz<h3>
</body>
</html>

Yukardaki şablon dosyasını çıktıya vermek için aşağıdaki gibi bir kod yazılabilir. Örnekteki kod biraz gereksiz karmaşılığa sahip bunun için helper metodlar yazmak uygun olur aslında.

        string s = File.ReadAllText(context.Server.MapPath("....html"));
        StringTemplate template = new StringTemplate(s);
        template.SetAttribute("kullanici", kullanici);

        StringWriter sw = new StringWriter();
        NoIndentWriter writer = new NoIndentWriter(sw);
        template.Write(writer);

        return sw.ToString();

Örnekte görüldüğü gibi, şablon içindeki değişkenleri .SetAttribute(...) diyerek set edebiliyoruz.

Daha fazla bilgi için sitesine bakılabilir:
http://www.antlr.org/wiki/display/ST/StringTemplate+Wiki+Home
kar
08 Haziran 2008 12:04
2.  Özellikle developerların kullanabileceği türden bir web yazılımı geliştiriyorsanız, bir dünya geliştirme zahmetinden kurtulup topu developerın ayağına atmak için imkan sağlıyor. Halen geliştirmekte olduğum CMS yazılımına bundan bi tane eklemeyi düşünüyorum.
fizikci
08 Haziran 2008 18:51
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.
© 2005, Bilişim Kulübü. (1062 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen