Đầu tiên tôi có bộ điều khiển Spring 3.0 với một phương thức tương tự như sau.Cách truyền đối tượng từ bộ điều khiển Spring 3.0 đến JSP và kiểm tra với JSTL
Tôi đang chuyển chế độ xem một đối tượng có tên là "message" và hy vọng in thông báo đó qua chế độ xem nếu nó đã được đặt bởi phương thức "doStuff".
@RequestMapping("/index")
public ModelAndView doStuff() {
ModelAndView mav = new ModelAndView();
Map<String, String> message = new HashMap<String, String>();
message.put("message", "Hello World");
mav.setViewName("pages/myView");
mav.addObject("message", message);
return mav;
}
Quan điểm là tương tự như sau,
<%@ page session="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<html>
<head>
<title>Test</title>
</head>
<body>
<c:if test="${message.message} != null">
<div class="msg">test1: ${message.message}</div>
</c:if>
<c:if test="${message.message} != ''">
<div class="msg">test2: ${message.message}</div>
</c:if>
<c:if test="${message.message}">
<div class="msg">test3: ${message.message}</div>
</c:if>
<c:if test="not empty ${message.message}">
<div class="msg">test4: ${message.message}</div>
</c:if>
<div class="msg">test5: ${message.message}</div>
</body>
</html>
Cho đến nay, chỉ có "test5" được in thông điệp, nhưng tôi chỉ muốn in thông điệp nếu "$ {} message.message "không phải là null.
Tôi đã thử cả hai "http://java.sun.com/jstl/core_rt" và "http://java.sun.com/jstl/core", nhưng dường như không nhận được câu lệnh "< c: if/>" để hoạt động chính xác.
Có ai có bất kỳ ý tưởng nào về những gì tôi đang làm sai hoặc cách tốt hơn để làm điều đó không?
Cảm ơn
Oh cảm ơn một bó - đó là những gì nó được. – wsams
@ user272159: Bạn chỉ ** thực sự ** cần loại bỏ URI không dùng nữa và bất kỳ JSTL JAR cũ nào. Cũng thấy câu trả lời của tôi. – BalusC