2011-08-29 13 views
5

मेरे पास मेरे जेएसपी में निम्न ब्लॉक है, जो ENUM मान {CREATE, CREATE_FROM_CAMPAIGN, OPEN} से अच्छे, पठनीय स्थिति ग्रंथों में परिवर्तित होता है।जेएसटीएल ईएल परीक्षण में enum मूल्यों के खिलाफ परीक्षण कैसे करें?

किसी कारण से 'CREATE' के खिलाफ पहला परीक्षण काम करता है, लेकिन 'CREATE_FROM_CAMPAIGN' के खिलाफ परीक्षण नहीं करता है। यह एक से

<c:choose> 
    <c:when test="${entry.activity eq 'CREATE'}"> 
     <td>was created</td> 
    </c:when> 
    <c:when test="$(entry.activity eq 'CREATE_FROM_CAMPAIGN'}"> 
     <td>was created from campaign</td> 
    </c:when> 
    <c:otherwise> 
     <td>was opened (${entry.activity}) </td> 
    </c:otherwise> 
</c:choose> 

एक उत्पादन इस प्रकार है:

खोला गया था (CREATE_FROM_CAMPAIGN)

खोला गया था (खुली)

क्यों दूसरे टेस्ट काम नहीं करता है?

उत्तर

9

यह काम नहीं करता है क्योंकि आपने अभिव्यक्ति शुरू करने के लिए ${ के बजाय $( का उपयोग किया था।

इसे ठीक करें तदनुसार:

<c:choose> 
    <c:when test="${entry.activity eq 'CREATE'}"> 
     <td>was created</td> 
    </c:when> 
    <c:when test="${entry.activity eq 'CREATE_FROM_CAMPAIGN'}"> 
     <td>was created from campaign</td> 
    </c:when> 
    <c:otherwise> 
     <td>was opened (${entry.activity}) </td> 
    </c:otherwise> 
</c:choose> 
+0

धन्यवाद। लंबे समय तक उस कोड को देखने के बावजूद बस उस घुंघराले ब्रैकेट को नहीं देख सका। मैंने ध्यान के लिए अपनी पोस्ट को ध्वजांकित किया है, हालांकि, क्योंकि यह किसी और को लाभ नहीं पहुंचाता है। –