Có thẻ if-else có sẵn trong JSTL không?Cách sử dụng tùy chọn if-else trong JSTL
Trả lời
Có, nhưng nó rất khó khăn như địa ngục, ví dụ:
<c:choose>
<c:when test="${condition1}">
...
</c:when>
<c:when test="${condition2}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
Đối với đơn giản if-else bạn có thể sử dụng toán tử tam phân như thế này
<c:set value="34" var="num"/>
<c:out value="${num % 2 eq 0 ? 'even': 'odd'}"/>
Đây là một câu trả lời hay, nhưng rất có tính tình huống về mức độ hữu ích của nó. –
Không có if-else, chỉ nếu.
<c:if test="${user.age ge 40}">
You are over the hill.
</c:if>
Tùy chọn bạn có thể sử dụng lựa chọn-khi:
<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>
Xin chào @iwxfer, liên kết ở trên của bạn hiện không có sẵn, vui lòng cập nhật, nếu bạn có thể làm điểm số tốt, hãy loại bỏ nó. – Ajay2707
tôi đã đi với chỉ đơn giản là sử dụng hai nếu thẻ, nghĩ rằng tôi muốn thêm một câu trả lời trong trường hợp đó là sử dụng cho bất cứ ai khác:
<c:if test="${condition}">
...
</c:if>
<c:if test="${!condition}">
...
</c:if>
trong khi về mặt kỹ thuật không phải là if-else
mỗi lần, hành vi này giống nhau và tránh cách tiếp cận clunky sử dụng thẻ choose
, do đó tùy thuộc vào yêu cầu của bạn phức tạp như thế nào có thể thích hợp hơn.
downvoter xin vui lòng bình luận – jonk
Hãy xem xét trường hợp khi điều kiện là một cái gì đó phức tạp và xấu xí như $ {không param.age gt 42 và someOtherVar eq 'foobar'}. Bạn sẽ phải lưu trữ điều kiện vào một biến boolean tạm thời để bạn có thể làm điều kiện, hoặc viết nghịch đảo của điều kiện đó. Cả hai đều xấu xí. Cú pháp "khác" là một nghịch đảo được bảo đảm. –
Thực tế, một điều kiện phức tạp sẽ yêu cầu biến cục bộ hoặc viết nghịch đảo, nhưng cả hai tùy chọn đó vẫn hoạt động. Tôi đã làm rõ rằng nó sẽ phụ thuộc vào mức độ phức tạp của yêu cầu là liệu cách tiếp cận này có phù hợp hơn với thẻ 'select' hay không. – jonk
bạn phải sử dụng mã này:
với <%@ taglib prefix="c" uri="http://www.springframework.org/tags/form"%>
và
<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>
- 1. Đặt HTML thả xuống chọn tùy chọn sử dụng JSTL
- 2. Thẻ tùy chỉnh JSTL
- 3. Đặt tùy chọn đã chọn trên thẻ đã chọn hiện tại với jstl
- 4. Sử dụng jQuery chọn một tùy chọn?
- 5. Cách thành ngữ để sử dụng Tùy chọn trong Scala
- 6. JSTL - sử dụng formatDate với một java.sql.Timestamp
- 7. Làm cách nào để bật/tắt tùy chọn trong Hộp Chọn bằng cách sử dụng jquery
- 8. truy cập tham số url bằng cách sử dụng jstl
- 9. Mã menu tùy chọn sử dụng lại
- 10. Bạn sử dụng JSTL như thế nào?
- 11. Tuyên bố ifelse lồng nhau
- 12. sử dụng tùy chọn -W của vim
- 13. Tùy chọn JVM bằng cách sử dụng Leiningen
- 14. Tùy chọn màn hình bằng cách sử dụng ActionBar Sherlock
- 15. Sử dụng các biểu tượng trong tùy chọn Android
- 16. Sử dụng tùy chọn người dùng trong Firefox addon
- 17. Cách thay đổi các tùy chọn của một lựa chọn bằng cách sử dụng JavaScript
- 18. Looking for a ifelse hiệu quả hơn()
- 19. args4j: trong "cách sử dụng" cách sắp xếp Tùy chọn theo cách thủ công?
- 20. việc sử dụng "-Wa, tùy chọn" trong gcc
- 21. Sử dụng tùy chọn -g và -O2 trong gcc
- 22. ZendFramework - Cách tạo tùy chọn nhóm và tùy chọn bằng cách sử dụng trình trợ giúp xem?
- 23. Làm cách nào để có tùy chọn bật các tùy chọn khác trong Tùy chọn chương trình tăng cường mà không sử dụng các biến?
- 24. Cách sử dụng đúng tùy chọn trường "lựa chọn" ở Django
- 25. Cách khởi tạo bố cục cho tùy chọn tùy chỉnh, sử dụng thuộc tính android: layout
- 26. Sử dụng jquery hoặc javascript để tự động thay đổi các tùy chọn chọn bằng cách sử dụng bootstrap?
- 27. Làm cách nào để sử dụng tùy chọn lệnh quản lý tùy chỉnh Django?
- 28. Tùy chọn thêm để chọn bằng cách sử dụng jQuery không hoạt động
- 29. Tùy chọn Android: Cách tải các giá trị mặc định khi người dùng không sử dụng màn hình tùy chọn?
- 30. jstl bên trong javascript
Ngoài thẻ wrapper (chọn), tôi không thấy cách này là bất kỳ tiết hơn nếu/elseif/else sẽ được. Một thẻ wrapper hầu như không cấu thành 'clunky như địa ngục', phải không? –
@Steven: Đó là bản chất XML của nó. Có nhiều nhân vật trong bản mẫu hơn là trong logic thực tế. – skaffman
Ah, ok. Điều tương tự cũng có thể được đặt cho ' ', sau đó cũng vậy. –