2011-12-13 21 views
6

हटाएं, मैं HTML ईमेल उत्पन्न करने के लिए जावा वेब ऐप में स्ट्रिंग टेम्पलेट का उपयोग करने का प्रयास कर रहा हूं। लाइन ब्रेक दर्ज करने का प्रयास करते समय, मैं \<br\> का उपयोग करता हूं यह ऐसा प्रतीत नहीं होता है। \<b\> भी काम नहीं कर रहा है। < और> को डिलीमीटर के रूप में बंद करने का कोई तरीका है, इसलिए यदि यह समस्या है तो मैं परीक्षण कर सकता हूं? सभी StringTemplate प्रलेखन पर अपने डिलीमीटर के रूप में उपयोग करने के लिए $ ... $ कहते हैं लेकिन कहना नहीं है कि कैसे < का उपयोग नहीं करने के लिए ...>स्ट्रिंग टेम्पलेट < > को डिलीमीटर

उत्तर

6

जब बनाने एक समूह आप

STGroup group = new STGroupDir("emails", '$','$'); 
का उपयोग करके सीमांकक सेट कर सकते हैं

जहां '$' और '$' आपके डिलीमीटर हैं।

+1

मुझे अभी भी 'अवैध वर्ण' <''मिल रहा है। क्या आप वाकई '<'को डिलीमीटर के रूप में अक्षम करते हैं? – elias

+0

दान के [उत्तर] (http://stackoverflow.com/a/15217001/2617691) नीचे देखें। यदि आपके पास सेंट फ़ाइलों में एसटी हेडर नहीं हैं तो STRawGroupDir का उपयोग करें। – matof

2

हालांकि लुम्पी ने निश्चित रूप से सही तरीके से सवाल का जवाब दिया, लेकिन उसने जो मुद्दा उठाया था उसे ठीक नहीं किया, इसलिए मैंने सोचा कि मैं भविष्य में पाठकों के लिए अपना समाधान जोड़ूंगा।

भले ही आप STGroupDir कि आप इस कार्यक्रम में लोड और कुछ बिंदु पर को रखना चाहते हैं एक x.st फ़ाइल बनाने के लिए, तुम इतनी तरह (केवल आपके एक STGroupFile अंदर होगा की तरह) है कि फाइल के अंदर एक वाक्य रचना को परिभाषित करना होगा:

x(variables, go, here) ::= "this uses $variables$ such as $go$ and $here$" 

ध्यान दें कि वाक्य रचना (बेशक, शून्य से .st विस्तार) फ़ाइल के रूप में एक ही नाम होना चाहिए।

यदि आपके टेम्पलेट्स में बहुत सारे उद्धरण चिह्न हैं, या यदि आप फ़ाइल के शीर्ष पर टेम्पलेट की घोषणा शामिल नहीं करना चाहते हैं, या यदि आप वास्तव में एक लंबा टेम्पलेट चाहते हैं तो यह असुविधाजनक है । उन मामलों में, आपको STRawGroupDir का उपयोग करना चाहिए। नकारात्मकता यह है कि आपकी टेम्पलेट फ़ाइल के शीर्ष पर कोई केंद्रीय स्थान नहीं है जिसमें सभी चरों को नामित किया जाना चाहिए।

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