ฉันจะตรวจสอบสองเงื่อนไขหรือมากกว่าในหนึ่ง <c: if> ได้อย่างไร


98

ฉันจะตรวจสอบสองเงื่อนไขในหนึ่งเดียวได้<c:if>อย่างไร? ฉันลองแล้ว แต่มันทำให้เกิดข้อผิดพลาด:

<c:if test="${ISAJAX == 0} && ${ISDATE == 0}"> 

คำตอบ:


158

มีลักษณะเหมือนซ้ำนี้JSTL ตรวจสอบเงื่อนไข

ข้อผิดพลาดเกิดจาก&&ภายนอกนิพจน์ ใช้แทน

<c:if test="${ISAJAX == 0 && ISDATE == 0}">

34

หากคุณใช้ JSP 2.0 ขึ้นไปจะมาพร้อมกับการสนับสนุน EL : เพื่อให้คุณสามารถเขียนเป็นภาษาอังกฤษธรรมดาและใช้andกับemptyโอเปอเรเตอร์เพื่อเขียนการทดสอบของคุณ:

<c:if test="${(empty object_1.attribute_A) and (empty object_2.attribute_B)}">

16

คำแนะนำ:

เมื่อคุณมีเงื่อนไขมากกว่าหนึ่งข้อandและorควรแยกออกจากกัน()เพื่อหลีกเลี่ยงปัญหาการตรวจสอบ

<c:if test="${(not validID) and (addressIso == 'US' or addressIso == 'BR')}">

1

ในกรณีที่มีคนต้องการตรวจสอบเงื่อนไขจากเซสชั่นการใช้งาน or

<c:if test="${sessionScope['roleid'] == 1 || sessionScope['roleid'] == 4}">
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.