2009-10-20 9 views
15

Aplikacja kliencka musi generować kod HTML. Chciałbym użyć rozwiązania typu szablon/widok silnika, takiego jak Spark, ale nie jestem pewien, czy Spark może być używany poza aplikacją ASP.NET. Czy ktoś wie o jakichkolwiek próbkach lub dokumentach dotyczących używania Sparka w ten sposób?Używanie mechanizmu Spark View Engine w samodzielnej aplikacji

(Jeśli znasz inne rozwiązania widok silników, które mogą być wykorzystywane stand-alone, byłbym ciekaw o tych, too.)

Odpowiedz

14

Oprócz innych przykładach, stwierdziliśmy jeden prosty w samego źródła iskry. Projekt Xpark jest aplikacją wiersza polecenia służącą do przekształcania XML za pomocą Sparka. Louis DeJardin, twórca Sparka, opisał na swoim blogu how Xpark works.

Odpowiednie fragmenty kodu są:

// Create an engine using the templates path as the root location 
    // as well as the shared location 
    var engine = new SparkViewEngine 
     { 
      DefaultPageBaseType = typeof(SparkView).FullName, 
      ViewFolder = viewFolder.Append(new SubViewFolder(viewFolder, "Shared")) 
     }; 

    SparkView view; 

    // compile and instantiate the template 
    view = (SparkView)engine.CreateInstance(
          new SparkViewDescriptor() 
           .AddTemplate(templateName)); 

    // render the view to stdout 
    using (var writer = new StreamWriter(Console.OpenStandardOutput(), Encoding.UTF8)) 
    { 
     view.RenderView(writer); 
    } 

To wystarczyło, żeby mnie zauważył we właściwym kierunku. Ale na pewno zagłębię się także w inne przykłady.

1

Jasne. Prawdopodobnie najbardziej kompletnym przykładem jest spojrzenie na kod silnika widoku Spark dla samej ASP.NET MVC.

Jest również w trakcie testu, więc odczytanie testów powinno dać bardzo dobry punkt wyjścia.

1

Jeśli pomaga komuś innemu, potrzebowałem wykonać coś podobnego za pomocą silnika Spark poza projektem MVC.
Stworzyłem przykładowy (bardzo uproszczony) projekt C# użycia silnika widoku Spark do wykonywania prostych operacji na szablonach. Może ktoś mógłby użyć go jako punktu wyjścia/wzruszając
http://jezel.googlecode.com/files/SparkTemplateExample.zip

Większość mojego kodu szablonu opiera się o przegląd Jonas Gauffin's C# WebServer projekt, gdzie korzysta z silnika Spark szablonów w podobny sposób.

Powiązane problemy