2012-11-14 28 views
10

मेरे पास जीएसपी फ़ाइल है जिसमें मुझे नियंत्रक से एक मूल्य मिल जाएगा उदाहरण के लिए ${paramsValue?.ruleCount} 3 है और उस पर आधारित मुझे टेबल पंक्तियां बनाना है।जीएसपी में लूपिंग कैसे करें?

वहाँ

उत्तर

21

किस बारे में

<g:each in="${(1..paramsValue?.ruleCount).toList()}" var="count" > 
    ... 
</g:each> 

जीएसपी में यह करने के लिए कोई तरीका है?

लेकिन यह अच्छा होगा यदि आप अपने नियंत्रक में प्रदर्शित करने के लिए सामग्री के साथ एक सूची तैयार करेगी ...

अद्यतन:

<% def count=5 %> 
<g:each in="${(1..count).toList()}" var="c" > 
    ${c} 
</g:each> 

:

बस इसे एक कोशिश दे दी है काम करता है।

<% def count=5 %> 
<g:each in="${1..count}" var="c" > 
    ${c} 
</g:each> 

भी काम करता है और यहां तक ​​कि छोटा भी है।

Update2:

ऐसा लगता है कि आप गिनती के रूप में एक URL पैरामीटर का उपयोग करना चाहते हैं। यह कोड उस मामले में काम करेगा:

<g:each in="${params.count?1..(params.count as Integer):[]}" var="c" > 
    ${c} 
</g:each> 

यह जांच करेगा कि कोई गिनती पैरामीटर है या नहीं। यदि नहीं, तो यह फिर से शुरू करने के लिए एक खाली सूची वापस कर देगा। यदि गिनती सेट की गई है, तो यह इसे इंटीजर पर डालेगी, एक रेंज बनाएंगी और इसे पूरी तरह से एक सूची में परिवर्तित करने के लिए इसे परिवर्तित कर देगा।

+2

'=" $ {1..paramsValue.ruleCount} "काम नहीं करेगा? – sync

+0

नहीं यह काम नहीं कर रहा है – Siva

+0

आपको जो त्रुटि संदेश मिल रहा है - क्या यह हो सकता है कि आपका 'पैराम्स वैल्यू? .ruleCount' कोई संख्या नहीं है? फिर 'paramsValue? .ruleCount को इंटेगर के रूप में आजमाएं – rdmueller

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

  • कोई संबंधित समस्या नहीं^_^