2009-11-12 12 views
15

मैं अपने आवेदन वसंत-वेब-MVC का उपयोग कर विकसित कर रहा हूँ ...ईएल भाव बिलाव 5.5 में मार डाला नहीं होगा, लेकिन बिल्ला में काम कर 6.0.20

अब मेरी नियंत्रक पर इसे इस तरह प्रस्तुत करती है:

<c:forEach items="${model.interfacesList}" var="prod"> 
    <c:out value="${prod.id}"/> <c:out value="${prod.name}"/><br><br> 
</c:forEach> 

अब जब मैं विंडोज मंच को यह क्रियान्वित कर रहा हूँ मैं बिल्ला 6.0.20 है जहां, 2.6.11 ognl यह मुझे सही उत्पादन जो मुझे पसंद है चाहता हूँ दे रही है:

public class InterfacesManageController implements Controller { 
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { 

    Map<String, Object> myModel = new HashMap<String, Object>(); 

    myModel.put("interfacesList", this.interfacesSecurityProcessor.findByAll(0, null, null, null)); 

    return new ModelAndView("common", "model", myModel); 
} 

अब, मेरी JSP निम्नलिखित कोड शामिल हैं:

117 eth1 

118 eth1 

119 eth0 

लेकिन, जब मैं (प्रतिशत ओएस) मंच है, जहां मैं बिल्ला 5.5 है, ognl अभिव्यक्ति निष्पादित नहीं प्राप्त करता है यूनिक्स में युद्ध फ़ाइल की तैनाती कर रहा हूँ और मेरे जैसे उत्पादन दे रही है:

${prod.id} ${prod.name} 

क्या किसी के पास समाधान हो सकता है, ओग्नल अभिव्यक्ति संस्करण और टोमकैट संस्करण के साथ समस्या क्या होनी चाहिए?

अग्रिम धन्यवाद ...

उत्तर

33

लेकिन, जब मैं यूनिक्स (CentOS) में युद्ध फ़ाइल मंच है, जहां मैं बिलाव 5.5, ईएल है की तैनाती कर रहा हूँ अभिव्यक्ति निष्पादित नहीं होती है और मुझे आउटपुट दे रही है:

${prod.id} ${prod.name} 

दूसरे शब्दों में, ईएल अभिव्यक्ति का मूल्यांकन नहीं किया जाता है और सादा पाठ के रूप में दिखाया जा रहा है? इसमें निम्न में से एक या अधिक कारण हो सकते हैं:

  1. प्रश्न में एप्लिकेशन सर्वर जेएसपी 2.0 का समर्थन नहीं करता है।
  2. web.xml को सर्वलेट 2.4 या उच्चतर के रूप में घोषित नहीं किया गया है।
  3. जेएसपी के <%@page %>isELIgnored=true के साथ कॉन्फ़िगर किया गया है।
  4. web.xml<jsp-config> में कॉन्फ़िगर किया गया है।

टोमकैट 5.5 सर्वलेट 2.4/जेएसपी 2.0 है, इसलिए # 1 खरोंच किया जा सकता है। मैंने अनुमान लगाए जाने से पहले वेबपैप में कुछ भी नहीं बदला है, इसलिए # 3 और # 4 खरोंच की संभावना हो सकती है। अब # 2 छोड़ दिया। हो सकता है कि आपने इसे टोमकैट 6.0 के लिए सर्वलेट 2.5 के रूप में घोषित किया जबकि टॉमकैट 5.5 केवल सर्वलेट 2.4 के साथ समझता है। इस तरह सबकुछ गड़बड़ हो जाएगा क्योंकि टॉमकैट कम से कम संगतता मोडस पर फ़ॉलबैक करेगा। आपको web.xml को सर्वलेट 2.4 के रूप में पुन: प्राप्त करने की आवश्यकता है ताकि यह टॉमकैट 5.5 और 6.0 दोनों में काम करे।उनकी उत्कृष्ट उत्तर के लिए BalusC को

<web-app 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4"> 

    <!-- Here you go. --> 

</web-app> 
+0

समाधान BalusC अपने जवाब के लिए बहुत कुछ मिल गया .... धन्यवाद ... असल में मैं अपने बिल्ला 6.0.20 के लिए सर्वलेट 2.5 की घोषणा की गई थी। जैसा कि आप मुझसे कहा, मैं 2.4 सर्वलेट को यह बदल दिया है, सब कुछ ठीक काम कर रहा है ... – Nirmal

+0

आपका स्वागत है। – BalusC

+0

@BalusC बहुत बहुत शुक्रिया। मैंने जैस्पर अपवाद से ठीक होने के लिए काफी समय बिताया। अंत में मुझे यह मिला। मैंने आपकी समस्या को अपने नमूना 'web.xml' घोषणा के साथ हल किया था। और 'jstl.jar' और 'standard.jar' जोड़ना। 'Web.xml' के लिए +1। – OO7

1

आप सुनिश्चित करें कि आप JSTL पुस्तकालय को शामिल किया है या तो बिलाव पर या अपने वेब अनुप्रयोग के lib फ़ोल्डर हैं?

ये लिंक आपकी मदद करेंगे:

How to set up Tomcat to work with JSTL

How to reference and use jstl in your web application

+0

JSTL HTML में स्थापित नहीं किया गया था, तो आप को देखा है चाहिए * दृश्य उत्पादन और सब कुछ (अन-पार्स/unevaluated) में कुछ भी नहीं * स्रोत। – BalusC

+0

मैं अपने classpath में JSTL है .. यही कारण है कि मैं बिल्ला 6.0.20 के साथ खिड़कियां में उत्पादन हो रही है है .. मैं कर रहा हूँ यकीन है कि ... – Nirmal

+0

यह अगर JSTL बिलाव 6.0 की classpath में था काम नहीं किया है, लेकिन नहीं में टॉमकैट 5.5 का क्लासपाथ। आप जाहिरा तौर पर यह है, या यह webapp के classpath में है, तो यह सब वातावरण पर काम किया है होता है। लेकिन ठीक है, जैसा कि कहा गया है कि यह समस्या का मूल कारण नहीं है। – BalusC

1

धन्यवाद: घोषणा दिखना चाहिए। मुझे वही समस्या थी जिस पर उसने ऊपर निदान किया था, और उसके समाधान ने मुझे रास्ते का हिस्सा बना दिया। हालांकि, मुझे यह भी सुनिश्चित करना था कि मेरे आवेदन की विभिन्न जेएसपी और जेएसटीएल निर्भरता सभी संगत थीं। विशेष रूप से, मैं JSTL 1.2 संदर्भित किया गया था और इस समस्या को दूर जाना नहीं था जब तक मैं JSTL 1.1.2 (जो बिंदु पर मैं भी taglibs.standard पर एक स्पष्ट निर्भरता को जोड़ने के लिए किया था: 1.1.2) के लिए है कि निर्भरता बदल दिया है।

निम्न ब्लॉग पोस्ट विभिन्न संस्करणों के बीच संगतता पर एक बहुत अधिक जानकारी प्रदान करता है: http://www.mularien.com/blog/2008/04/24/how-to-reference-and-use-jstl-in-your-web-application/

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