Per prima cosa ho un controller Spring 3.0 con un metodo simile al seguente.Come passare un oggetto dal controller Spring 3.0 alla visualizzazione JSP e testare con JSTL
Sto passando la vista a un oggetto denominato "messaggio" e sperando di stampare quel messaggio tramite la vista se è stato impostato dal metodo "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;
}
La vista è simile alla seguente,
<%@ 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>
Finora, solo "test5" sta stampando il messaggio, ma ho solo voglia di stampare il messaggio se "$ {} message.message "non è nullo.
Ho provato sia "http://java.sun.com/jstl/core_rt" e "http://java.sun.com/jstl/core", ma non riesco a ottenere il "< c: se/>" dichiarazioni per funzionare correttamente.
Qualcuno ha qualche idea su cosa sto facendo male o un modo migliore per farlo?
Grazie
Oh grazie un gruppo - che è quello che era. – wsams
@ user272159: Hai solo ** veramente ** bisogno di sbarazzarti degli URI deprecati e di qualsiasi JAR JSTL vecchio. Vedi anche la mia risposta. – BalusC