इस सवाल का एक है यहां तक कि अगर (मेरे लिए, समझ से बाहर) स्वीकार किए जाते हैं जवाब है, मैं अपने आप को उस पर एक जाना है के लिए बाध्य महसूस करते हैं। असली जवाब बलुस की टिप्पणी में निहित है और .tld
WEB-INF
में बिछाने वाली फ़ाइलों को वास्तव में खराब सलाह है। स्ट्रेट्स 2 के सटीक संस्करण का उपयोग करके मेरा इरादा विस्तारित है ओपी (v2.1.8) के बारे में पूछ रहा था, जिसे मैंने Apache's historical archive से डाउनलोड किया था।
-
मैं नहीं जानता, जिसमें .jar फ़ाइल struts-html.tld फ़ाइल स्थित है।
struts2 में कोई struts-html.tld
नहीं है - इसके बजाय वहाँ निम्नलिखित हैं:
struts-tags.tld
, जो struts2-core-2.1.8.jar
की META-INF
निर्देशिका में रहता है और सभी मानक Struts टैग होता है, लोगों की तरह आप Struts1 में struts-html.tld
में खोजने की उम्मीद करेंगे।
tiles-jsp.tld
, जो META-INF
tiles-jsp-2.0.6.jar
की निर्देशिका में रहता है और Struts1 में struts-tiles.tld
के अनुरूप है।
- कुछ और टीएलडी, उदा। साइटमैश के लिए जो सीधे प्रश्न से संबंधित नहीं हैं।
-
मैं एक JSP पेज में html टैग, Struts द्वारा प्रदान की एक taglib निर्देशिका में निर्दिष्ट, उपयोग करना चाहते हैं। लेकिन यह नहीं पता कि इसका उपयोग कैसे करें। मुझे टैगलिब निर्देश का उपयोग करने का तरीका पता है, लेकिन मुझे स्रोतों से पता चला कि संस्करण 1.2.8 के बाद .ld फ़ाइल को .jar फ़ाइल में एम्बेड किया गया है।
यह सही है। जिस तरह से यह आम तौर पर काम करता है निम्नलिखित:
- जब सर्वलेट कंटेनर शुरू होता है, यह
WEB-INF/lib
निर्देशिका और भार यह वहाँ पाता है किसी भी .jar
फ़ाइलों के माध्यम से लग रहा है - यह वह जगह है जहाँ आप struts2 पुस्तकालय डालना होगा।
- इन
.jar
फ़ाइलों के अंदर, किसी भी टीएलडी को META-INF
निर्देशिका में रहने की उम्मीद है। जाहिर है और जैसा ऊपर बताया गया है, यह पहले से ही struts2-core-2.1.8.jar
का मामला है, इसलिए ऐसा करने की आवश्यकता नहीं है।
- जब सर्वलेट कंटेनर टीएलडी लोड करता है, तो यह रूट तत्व
<taglib>
के अंदर <uri>
तत्व ढूंढता है और उस टीएलडी और उसके यूआरआई के बीच मैपिंग स्टोर करता है। इसके अनुरूप, इस यूआरआई का उपयोग आपकी .jsp
फ़ाइलों में टीएलडी के संदर्भ में किया जाता है।
struts2-core-2.1.8.jar
के मामले में, यूआरआई /struts-tags
है और इस तरह आप एक .jsp
फ़ाइल इस तरह में यह संदर्भ के लिए (जाहिर है आप अपनी पसंद के prefix
विशेषता बदल सकते हैं) की आवश्यकता है ...
<%@ taglib uri="/struts-tags" prefix="s" %>
... और बाद में इसे उपयोग करने के लिए रखा, उदाहरण के लिए इस:
<s:form action="HelloWorld">
(...)
</s:form>
मैं Struts करना नहीं है, इसलिए मैं इसके बारे में कुछ भी कहना नहीं होगा, लेकिन JSTL के लिए वहाँ ** बिल्कुल कोई जरूरत ** JAR फ़ाइल और अव्यवस्था '/ वेब INF' निकालने के लिए ढीली टीएलडी फाइलों के साथ। '/ WEB-INF/lib' में जार फ़ाइल को छोड़कर और जेएसटी दस्तावेज के अनुसार जेएसपी दस्तावेज के अनुसार जेएसपी के शीर्ष पर टैगलिब्स घोषित करना पर्याप्त है। यह अन्य सभी जेएसपी टैगलिब्स के लिए सामान्य अभ्यास भी होना चाहिए: 1) क्लासपाथ (यानी '/ WEB-INF/lib') में जेएआर फ़ाइल (ओं) को छोड़ दें, 2) जेएसपी में' टैगलिब 'घोषित करें। बस इतना ही। इसी तरह का उत्तर: http://stackoverflow.com/questions/2323645 – BalusC
धन्यवाद ... मुझे यह नहीं पता था .... गीज़, मैं आपकी विधि का प्रयास करूंगा ... –
@ बाल्लूसी ... तो एमवीसी फ्रेमवर्क क्या है क्या आप _ का उपयोग करते हैं? –