2011-03-03 25 views
8

Benim java enum şuna benziyor:JSP: JSP EL etiketlerindeki enum'a erişme

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

JSP'de, aşağıdaki gibi olmayan sth yapmaya çalışıyorum.

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

Çalışmadan sonra şu bağlantıları buldum: Enum inside a JSP. Ancak, JSP'mdeki scriptleri kullanmaktan kaçınmak istiyorum. Ja etiketine EL etiketine nasıl girebilirim ve karşılaştırmayı yapabilirim? Lütfen yardım et.

+3

Yinelenen [JSP EL enum değeri olarak her zaman boş] (http://stackoverflow.com/questions/4606673/in-jsp-el-enum-value-always-empty). Onlara ip gibi davran. – BalusC

+0

Aşağıdaki nedenlerle çoğaltılmadığını hissedin: enum EmailType, hiçbir yöntem içermeyen ayrı bir java dosyasına (EmailType.java) yazılmıştır. – Arjun

+0

E-posta varlığım şunun gibi görünüyor: public class Email {... EmailType type; ....} – Arjun

cevap

7

Bir numara serileştirildiğinde, bir dize haline gelir. Yani sadece bir dize karşılaştırın karşılaştırın. arasında

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