2010-08-27 9 views
31

मैं हमेशा एक आधुनिक जावा लाइब्रेरी की तलाश में हूं जो वैध (एक्स) HTML स्निपेट को आसान बनाता है।जावा एचटीएमएल बिल्डर (एंटी-टेम्पलेट) लाइब्रेरी?

हाँ आप एक templating भाषा का उपयोग कर सकते हैं, लेकिन कई बार ऐसा नहीं करना चाहते हैं क्योंकि जावा को अपनी पसंदीदा templating भाषा डालने पर कुछ फायदे हैं।

मैंने कई परियोजनाओं में बहुत सारे घर के HTML बिल्डर्स को देखा है लेकिन कोई कॉमन्स-एचटीएमएल बिल्डर नहीं है जो मुझे मिल सकता है।

क्या किसी को भी पता है?

यह आदर्श होगा यदि यह जावा 5/6/7 प्रकार प्रणाली (जेनेरिक) का लाभ उठाता है और फ्लुएंट स्टाइल का समर्थन करता है। या धाराप्रवाह शैली यानी JQuery शैली श्रृंखला, या जेएमॉक (पैडेंटिक रूप से एक मोनाड बोलने) जैसे पुस्तकालयों में मजाक करने वाली राज्य मशीन जैसी कुछ।

एक किसी न किसी बिल्डर उदाहरण हो सकता है:

new Html().title("stuff").body().in().div().in().h1("Hello World").hr(); 

एक और उदाहरण: http://codemonkeyism.com/the-best-markup-builder-i-could-build-in-java/

मैं अपने खुद के लेखन समाप्त हो गया: Java Anti-template Language (JATL)

+0

कहा जाता है एक अन्य विकल्प का उपयोग करने के JAXB के सुविज्ञ प्लगइन –

उत्तर

33
+0

अच्छा लगता है, क्या आप अभी भी इसे अपडेट कर रहे हैं? –

+0

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

+2

महान काम! यह बेहतर होगा यदि आंतरिक तत्व कन्स्ट्रक्टर के अंदर जा सकते हैं जैसे: 'body (h1(), div (table (...))) –

3

आप Jakarta Element Construction Set (ECS) परियोजना की कोशिश की?

यह वास्तव में एक धाराप्रवाह एपीआई नहीं है - मुझे मोकिटो की तुलना में स्ट्रिंगबिल्डर की अधिक याद दिलाता है ... लेकिन कार्यात्मक रूप से मुझे लगता है कि यह आपके बाद है।

+0

यह निश्चित रूप से सही दिशा (+1) –

+1

मुझे लगता है कि हम एक विजेता है में एक कदम है है मेरे अपने पुस्तकालय लेखन समाप्त हो गया। क्या एक भयानक गैर-अनुकूल एसईओ परियोजना का नाम :) आपका अधिकार शायद यह वास्तव में धाराप्रवाह नहीं है क्योंकि इसमें एक राज्य मशीन शामिल होगी। अगर कुछ भी वास्तव में एक मोनाड की तरह है। JQuery सोचो। –

+0

यह अभी भी मेरे लिए घबराहट लगता है और एक्सएचटीएमएल का समर्थन नहीं करता है। –

3

आपकी सर्वश्रेष्ठ शर्त शायद एक एक्सएमएल लाइब्रेरी का उपयोग करने और आउटपुट को HTML के रूप में प्रस्तुत करने के लिए है।

आईई। Dom4J एचटीएमएल-विशिष्ट एक्सएमएल आउटपुट के लिए HtmlWriter कक्षा परिभाषित करता है।

लेकिन आपको अभी भी दस्तावेज़ बनाने के लिए इसके शीर्ष पर अपना स्वयं का एपीआई बनाना होगा।

+0

डोम 4 जे के साथ जेनेरिकों के समर्थन की कमी के साथ कष्टप्रद संभाव्यता। यानी node.elements() सूची सूची नहीं लेकिन जावा –

+0

के लिए मेरी पसंदीदा XML लाइब्रेरी है, मैं किसी भी XML लाइब्रेरी के बजाय सीधे HTML प्रिंट करना और सभी चर से बचाना पसंद करूंगा। एचटीएमएल के साथ करने के लिए, एक्सएमएल लाइब्रेरी कोड बदसूरत और चरम लंबा बना सकता है। –

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