如何检查EL中的equalsIgnoreCase?
String a = "hello";
a.equalsIgnoreCase("hello");
现在在JSP页面上..
<h:panelGroup rendered="#{patientNotePrescriptionVar.prescriptionSchedule == patientNotePresBackingBean.sendPrescription}">
... Some code here ....
</h:panelGroup>
有没有办法将patientNotePresBackingBean.sendPrescription
比作equalsIgnoreCase?
答案 0 :(得分:17)
如果您正在使用EL 2.2(Servlet 3.0的一部分)或JBoss EL,那么您应该能够在EL中调用该方法。
<h:panelGroup rendered="#{patientNotePrescriptionVar.prescriptionSchedule.equalsIgnoreCase(patientNotePresBackingBean.sendPrescription)}">
如果你还没有使用EL 2.2,那么你最好的选择是通过JSTL fn:toLowerCase()
(或fn:toUpperCase()
)传递两个字符串然后进行比较。
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<h:panelGroup rendered="#{fn:toLowerCase(patientNotePrescriptionVar.prescriptionSchedule) == fn:toLowerCase(patientNotePresBackingBean.sendPrescription)}">
但是,更好的是,不要让它们区分大小写。如果它们代表某种常量,最好使它们成为枚举或其他东西。
答案 1 :(得分:4)
您可以将两个操作数转换为小写,然后将它们等同起来。
如果是JSTL,我会这样做
fn:toLowerCase(patientNotePrescriptionVar.prescriptionSchedule) eq fn:toLowerCase(patientNotePresBackingBean.sendPrescription)
检查一下你是否可以在JSF中做类似的事情。我最近一直与JSF脱节,抱歉。