2012-05-18 15 views
6

¿Cómo comprobar equalIgnoreCase en EL?EL comparación con igualIgnoreCase

String a = "hello"; 
a.equalsIgnoreCase("hello"); 

Ahora en la página JSP ..

<h:panelGroup rendered="#{patientNotePrescriptionVar.prescriptionSchedule == patientNotePresBackingBean.sendPrescription}"> 
      ... Some code here .... 
</h:panelGroup> 

¿Hay alguna manera de compate patientNotePresBackingBean.sendPrescription como equalIgnoreCase?

Respuesta

17

Si está utilizando EL 2.2 (parte de Servlet 3.0) o JBoss EL, entonces debería poder invocar ese método en EL.

<h:panelGroup rendered="#{patientNotePrescriptionVar.prescriptionSchedule.equalsIgnoreCase(patientNotePresBackingBean.sendPrescription)}"> 

Si no estás en EL 2.2, sin embargo, entonces su mejor apuesta está pasando a través de las dos cadenas JSTLfn:toLowerCase() (o fn:toUpperCase()) y luego compararlo.

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 
... 
<h:panelGroup rendered="#{fn:toLowerCase(patientNotePrescriptionVar.prescriptionSchedule) == fn:toLowerCase(patientNotePresBackingBean.sendPrescription)}"> 

Mejor, sin embargo, sería no hacer que distingan entre mayúsculas y minúsculas. Si representan algún tipo de constantes, mejor hágales enums o algo así.

+0

Gracias BalusC, pero en este caso también la respuesta de adarshr incluso da error como 'El atributo prefijo fn no corresponde a cualquier biblioteca de etiquetas importada' – Ketan

+0

Por supuesto, necesita declarar el 'taqui fn' en la parte superior de su JSP (exactamente como lo hizo para JSF' h' taglib). Compruebe la documentación en busca de la sintaxis exacta: http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/tld-summary.html – BalusC

+0

¡Ohh! Pensé que era parte de 'c' taglib ... – Ketan

3

Puede convertir ambos operandos a minúsculas y luego igualarlos.

En caso de JSTL, lo haría

fn:toLowerCase(patientNotePrescriptionVar.prescriptionSchedule) eq fn:toLowerCase(patientNotePresBackingBean.sendPrescription) 

Sólo comprobar si puede hacer algo similar en JSF. He estado fuera de contacto con JSF últimamente, lo siento.

+0

Si no me equivoqué, ¿primero respondió algo completamente diferente? De lo contrario, no habría publicado una respuesta duplicada. – BalusC

+0

No, acabo de responder la primera línea y luego agregué el ejemplo JSTL :) Además, el tuyo no es un duplicado. Complementa mi respuesta. – adarshr

+0

Dio un error ... El prefijo de atributo ** fn ** no corresponde a ninguna biblioteca de etiquetas importadas – Ketan

Cuestiones relacionadas