2011-03-03 16 views
8

मेरे जावा enum इस तरह दिखता है:JSP: JSP ईएल टैग के अंदर enum तक पहुँचने

public enum EmailType { HOME, WORK, MOBILE, CUSTOMER_SERVICE, OTHER } 

JSP में, मैं नीचे की तरह sth करने के लिए है, जो काम नहीं कर रहा कोशिश कर रहा हूँ।

<c:choose> 
      <c:when test="${email.type == EmailType.HOME}">(Home)</c:when> 
      <c:when test="${email.type == EmailType.WORK}">(Work)</c:when> 
</c:choose> 

googling के बाद, मैं इन कड़ियों पाया: Enum inside a JSP। लेकिन, मैं अपने जेएसपी में लिपियों का उपयोग करने से बचना चाहता हूं। मैं ईएल टैग के अंदर जावा एनम तक कैसे पहुंच सकता हूं और तुलना कर सकता हूं ?? कृपया मदद करे।

+3

की डुप्लीकेट [JSP ईएल enum मूल्य में हमेशा खाली] (http://stackoverflow.com/questions/4606673/in-jsp-el-enum-value-always-empty)। बस उन्हें तारों के रूप में व्यवहार करें। – BalusC

+0

ऐसा लगता है कि यह निम्नलिखित कारणों से डुप्लिकेट नहीं है: enum ईमेल टाइप एक अलग जावा फ़ाइल (EmailType.java) में लिखा गया है, जिसमें कोई विधि नहीं है। – Arjun

+0

मेरी ईमेल इकाई इस तरह दिखती है: पब्लिक क्लास ईमेल {... ईमेल टाइप प्रकार; ....} – Arjun

उत्तर

7

जब एक enum serialized है यह एक स्ट्रिंग बन जाता है। तो बस एक स्ट्रिंग तुलना का उपयोग करें।

<c:choose> 
      <c:when test="${email.type == 'HOME'}">(Home)</c:when> 
      <c:when test="${email.type == 'WORK'}">(Work)</c:when> 
</c:choose> 
संबंधित मुद्दे