2009-02-20 19 views
5

हमारे पास एम्बेडेड संसाधनों में एनवीलोसिटी टेम्पलेट्स का एक गुच्छा है जिसे हम ईमेल के लिए उपयोग करते हैं। हम इन टेम्पलेट्स को डीबी में ले जाना चाहते हैं ताकि उन्हें आसानी से उपयोगकर्ताओं द्वारा कॉन्फ़िगर किया जा सके।क्या NVelocity अब स्ट्रिंग टेम्पलेट का समर्थन नहीं करता है?

ऐसा लगता है कि NVelocity (कैसल पोर्ट) तारों के रूप में तारों का समर्थन नहीं करता है। क्या कोई जानता है इसे कैसे करना है।

स्पष्ट यह है कि मैं क्या (सिंटेक्स गलत, मैं स्मृति से जा रहा हूँ हो सकता है) क्या करना चाहते हैं बनने के लिए ...

string templateString = "Hello $!user"; 
Template template = new Template(templateString); 
string results = template.Merge(....); 

उत्तर

15

यह मेरे लिए काम करता है:

using System.Collections; 
using System.IO; 
using NUnit.Framework; 
using NVelocity; 
using NVelocity.App; 

[Test] 
public void StringParsing() 
{ 
    var h = new Hashtable { 
     { "foo", "Template" }, 
     { "bar", "is working" }, 
     { "foobar", new[] { "1", "2", "3" } } }; 
    Velocity.Init(); 
    var c = new VelocityContext(h); 
    var s = new StringWriter(); 
    Velocity.Evaluate(c, s, "", 
     "$foo $bar: #foreach ($i in $foobar)$i#end"); 
    Assert.AreEqual("Template is working: 123", s.ToString()); 
} 
+0

NVelocity के लिए अच्छा प्रलेखन की कमी है क्योंकि यह इस तरह के एक शक्तिशाली और उपयोगी पुस्तकालय है दबाकर किया जाता है। मुझे आपके उत्तर को खोजने में बहुत लंबा समय लगा है इसलिए मैंने भविष्य के संदर्भ के लिए प्रश्न को पसंदीदा के रूप में चिह्नित किया है और आपके उत्तर और प्रश्न को वोट दिया है। –

+0

धन्यवाद। हालांकि, मुझे लगता है कि अन्य टेम्पलेट इंजनों को देखना एक अच्छा विचार है, क्योंकि एनवीलोसिटी छोड़ने के करीब है, काफी धीमी है और एक टैड बहुत सीमित है। – Bergius

0

NVelocity के महल बंदरगाह की तरह लगता है अपने दम पर काफी अनुसंधान के बाद मेमोरी स्ट्रिंग में टेम्पलेट प्राप्त करने के लिए यह एक विशाल पिटा होगा।

मैंने तब से NVelocity पर छोड़ दिया है और स्ट्रिंग टेम्पलेट का उपयोग करना शुरू कर दिया है। विशेष रूप से इस कार्यान्वयन: http://websitelogic.net/articles/MVC/stringtemplate-viewengine-asp-net-mvc/

संबंधित मुद्दे