2011-09-27 2 views
5

मैं अपने नियंत्रक के लिए स्प्रिंग एमवीसी का उपयोग कर रहा हूं, और जेएसपी मेरी प्रस्तुति परत हैं।संदेह से ईएल चर घोंसला?

मेरी स्प्रिंग नियंत्रक के अंदर, मेरे पास है:

model.put("issues", dataManager.getIssues()); 
model.put("functions", dataManager.getFunctions()); 

तो अब मेरी JSP के अंदर, मैं सब कुछ ठीक है और अच्छा है कि

${requestScope['issues']} 
${requestScope['functions']} 

की पहुंच है। लेकिन मेरे कोड को विस्तारित करने के लिए, मैं डेटाबेस के अंदर परिवर्तनीय नाम issues और functions स्टोर करना चाहता हूं, जो तब configs ऑब्जेक्ट पर किसी संपत्ति के माध्यम से पहुंचा जा सकता है जिसे लूप किया जा रहा है। तो मैं अंत करना चाहते हैं निम्नलिखित की तरह कुछ है:

<c:forEach items="${configs}" var="cfg"> 
    <c:if test="${cfg.configType == 'select'}"> 
     <th>${cfg.header}</th> 
     <td><myTagLib:select values="${requestScope['${cfg.selectorName}']}" /></td> 
    </c:if> 
</c:forEach> 

कहाँ ${cfg.selectorName} या तो issues या इस उदाहरण में functions का आयोजन करेगा।

उत्तर

6

आप करीब हैं। अमान्य वाक्यविन्यास के बाद से आपको केवल नेस्टेड ${} को निकालना होगा।

<myTagLib:select values="${requestScope[cfg.selectorName]}" /> 
+0

..... और यह चाल है। बहुत बहुत धन्यवाद! – Mike

+0

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

+0

@ बाल्लूसी, मैं ** की तरह कर रहा हूं \t 0 c \t \t \t \t \t **। लेकिन मैं इस तरह से आइटम सूची प्राप्त करने में सक्षम नहीं हूँ। कृपया मदद करे। – masT