มีแท็ก if-else ใน JSTL หรือไม่
มีความเป็นไปได้ที่ซ้ำกันของif ... else ภายใน JSP หรือ JSTL
—
BuZZ-dEE
มีแท็ก if-else ใน JSTL หรือไม่
คำตอบ:
ใช่ แต่มันเป็นเรื่องไร้สาระเหมือนนรกเช่น
<c:choose>
<c:when test="${condition1}">
...
</c:when>
<c:when test="${condition2}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
<c:if/>
ตอนนั้นเช่นกัน
<c:otherwise>
นิดหน่อยแต่ดูเหมือน verbose เล็กน้อยใช่มั้ย?
นอกจากคำตอบ skaffman แล้วง่าย ๆ ถ้าคุณสามารถใช้ตัวดำเนินการประกอบได้เช่นนี้
<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
ไม่มีถ้า - อื่นเพียงถ้า
<c:if test="${user.age ge 40}">
You are over the hill.
</c:if>
คุณสามารถเลือกใช้เมื่อ:
<c:choose>
<c:when test="${a boolean expr}">
do something
</c:when>
<c:when test="${another boolean expr}">
do something else
</c:when>
<c:otherwise>
do this when nothing else is true
</c:otherwise>
</c:choose>
ฉันทำได้โดยใช้แท็กสองแท็กถ้าคิดว่าฉันจะเพิ่มคำตอบในกรณีที่บุคคลอื่นใช้:
<c:if test="${condition}">
...
</c:if>
<c:if test="${!condition}">
...
</c:if>
ในขณะที่ในทางเทคนิคไม่ได้เป็นif-else
ต่อพฤติกรรมที่เหมือนกันและหลีกเลี่ยงวิธี clunky ของการใช้choose
แท็กดังนั้นขึ้นอยู่กับความซับซ้อนของความต้องการของคุณคือสิ่งนี้อาจจะดีกว่า
choose
แท็กหรือไม่
คุณต้องใช้รหัสนี้:
กับ <%@ taglib prefix="c" uri="http://www.springframework.org/tags/form"%>
และ
<c:select>
<option value="RCV"
${records[0].getDirection() == 'RCV' ? 'selected="true"' : ''}>
<spring:message code="dropdown.Incoming" text="dropdown.Incoming" />
</option>
<option value="SND"
${records[0].getDirection() == 'SND'? 'selected="true"' : ''}>
<spring:message code="dropdown.Outgoing" text="dropdown.Outgoing" />
</option>
</c:select>
นี่เป็นวิธีการที่ดีและมีประสิทธิภาพตามการคาดการณ์ความซับซ้อนของเวลา เมื่อมันจะได้รับสภาพที่แท้จริงมันจะไม่ตรวจสอบอื่น ๆ หลังจากนี้ ในหลาย ๆ ถ้ามันจะตรวจสอบแต่ละและเงื่อนไข
<c:choose>
<c:when test="${condtion1}">
do something condtion1
</c:when>
<c:when test="${condtion2}">
do something condtion2
</c:when>
......
......
......
.......
<c:when test="${condtionN}">
do something condtionn N
</c:when>
<c:otherwise>
do this w
</c:otherwise>
</c:choose>