2011-08-19 19 views
5

मैं टेम्पलेट के टेम्पलेटिंग और हिस्से के लिए अपाचे टाइल्स का उपयोग कर रहा हूं, एक हेडर टेक्स्ट है। यह पाठ पृष्ठ से संबंधित अनुभाग पर निर्भर करता है। प्रत्येक पृष्ठ में एक बीन होता है और हेडर टेक्स्ट उस बीन के गुणों का उपयोग करके बनाया जाता है। प्रत्येक पृष्ठ के लिए बीन का एक अलग नाम होगा। तो, मेरी JSP फ़ाइल में मैं कुछ इस तरह होगा:अपाचे टाइल परिभाषा में ईएल अभिव्यक्ति संसाधित नहीं की गई है

<div>${myBean.id} - ${myBean.name}</div> 

मैं टाइल परिभाषा है कि अभिव्यक्ति प्राप्त करना चाहते हैं और मैं इस कोशिश की:

<definition template="/WEB-INF/tiles/layout/mytemplate.jsp"> 
    <put-attribute name="title" expression="${myBean.id} - ${myBean.name}" /> 
</definition> 

और टेम्पलेट में मुझे क्या करना:

<div class="title-header"><tiles:insertAttribute name="title" /></div> 

लेकिन परिणाम असंसाधित ईएल अभिव्यक्ति है:

<div>${myBean.id} - ${myBean.name}</div> 

इस पोस्ट को संक्षिप्त रखने के लिए यहां कोड को सरल बनाया गया है, लेकिन यह वही है जो मैं करने की कोशिश कर रहा हूं। इसके कारण भी हैं कि मैं इसे इस तरह से करने की कोशिश क्यों कर रहा हूं।

कोई विचार क्यों ईएल एक्सप्रेशन को संसाधित नहीं किया जा रहा है?

धन्यवाद

नोट: मैं तो मैं सही शब्दावली का इस्तेमाल किया है नहीं हो सकता है काफी JSP और अपाचे टाइलें के लिए नया हूँ।

+0

क्या मैं एक बेवकूफ सवाल पूछ रहा हूं या क्या कोई ऐसा नहीं है जो मेरी मदद कर सके? –

+2

यह ठीक दिखता है, क्या आप अपनी टाइल्स कॉन्फ़िगरेशन पोस्ट कर सकते हैं? क्या आपने वास्तव में जेएसपी में $ {myBean.id} का मूल्यांकन करने की कोशिश की है ताकि वास्तव में वहां जांच सकें? यहां एक नज़र डालें: http://tiles.apache.org/2.1/framework/tutorial/advanced/el-support.html, क्या आपके पास अपने क्लासपाथ पर टाइल्स-एल.जर है? ईएल समर्थन को सक्षम करने के लिए आपको org.apache.tiles.evaluator.AttributeEvaluator पैरामीटर सेट करने की आवश्यकता है, –

उत्तर

6

मैं बस यह इंगित करना चाहता था कि बैरी का जवाब (मूल पोस्ट पर उनकी टिप्पणी में) ने मेरी मदद की। आपको अपने क्लासपाथ पर tiles-el.jar होना चाहिए (यदि आप मानक ईएल का उपयोग करना चाहते हैं, तो संभवतः आपको एमवीईएल या ओजीएनएल के लिए संबंधित जेएआर की आवश्यकता है)।

<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/tiles/**/views.xml</value> 
     </list> 
    </property> 

    <!-- Initialize expression language support for use in Tiles definitions. --> 
    <property name="tilesProperties"> 
     <props> 
      <prop key="org.apache.tiles.evaluator.AttributeEvaluator">org.apache.tiles.evaluator.el.ELAttributeEvaluator</prop> 
     </props> 
    </property>   
</bean> 

टाइलें 3. वसंत के TilesConfigurer टाइलें 3 के लिए स्वचालित रूप से JSP के लिए classpath की जाँच करता है:

टाइलें 2.AttributeEvaluator के बारे में, इस तरीके से कि आप स्प्रिंग उपयोग कर रहे हैं निर्धारित कर सकते हैं हो रहा है एपीआई 2.1 और टाइल्स ईएल जार। यदि यह उन्हें दोनों पाता है, तो यह स्वचालित रूप से एक ईएल-जागरूक विशेषता मूल्यांकनकर्ता बनाता है।