JSP-mit Spring MVC - $ {} - Variablen nicht angezeigt
Ich bin mit Spring MVC für diese app, es ist ein sehr einfaches ein nur für test-Zwecke nur speichern und anzeigen von Daten aus der db. Dies ist die erste Seite mit einem einfachen link zu einer anderen Seite mit ${context.root} die Basis-url. Hier ist der code von der Seite:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mah oeeee!</title>
</head>
<body>
<h1>Alunos!</h1>
<a href="${context.root}/SGE/aluno/cadastro">Novo aluno</a>
</body>
Die Sache ist, anstatt zu zeigen, für ex.: http://localhost:8080/SGE/aluno/cadastro
auf den link, es zeigt http://localhost:8080/SGE/${context.root}/SGE/aluno/cadastro
. Dasselbe passiert auf der Seite anzeigen, zeigt, dass die Daten aus der Datenbank:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>CONSULTA</h1>
<table>
<tr>
<td>Nome</td>
<td>${aluno.nome}</td>
</tr>
<tr>
<td>CPF</td>
<td>${aluno.cpf}</td>
</tr>
<tr>
<td>E-Mail</td>
<td>${aluno.email}</td>
</tr>
</table>
</body>
Anstatt zu zeigen, den Wert der Variablen, BSP.:
Nome: Joao
CPF: 98765482312
E-mail: joao@joao.com
es zeigt nur wie diese:
Nome ${aluno.nome}
CPF ${aluno.cpf}
E-Mail ${aluno.email}
Was kann das problem sein, so bekomme ich es behoben? Kann das problem werden einige Konfiguration des tomcat?
EDIT: Hier ist der code, wie verlangt:
@RequestMapping(method = RequestMethod.GET)
public ModelAndView index() {
return new ModelAndView("aluno/index");
}
@RequestMapping(value = "/consulta/{id}")
public ModelAndView consultar(@PathVariable int id) {
Aluno aluno = getAlunoService().buscarPorId(id);
return new ModelAndView("aluno/consulta", "aluno", aluno);
}
- versuchen
${pageContext.request.contextPath}
. können Sie fügen Sie den controller-code? schwer zu diagnostizieren das problem als es jetzt ist. - Ich habe den code für beide Ansichten. Die Sache ist, es ist egal, wie ich die Daten senden, welche Seite es ist, welche variable es ist, wenn ich mit ${} nur es behandelt die Variablen als text o.O
- vielleicht sind Sie fehlen jstl EL-jars?
- Ist
aluno
wirklich nicht null inconsultar()
? Außerdem hat die KlasseAluno
haben die entsprechende getter-Methoden (wiegetNome()
,getCpf()
und so weiter)? - Welche version der Servlet verwenden Sie? Vor 2.3, JSP-EL ist standardmäßig deaktiviert.
- Ja, die Methode funktioniert gut in meinem computer, tomcat und glassfish. Alle Modelle verfügen über Getter und setter. Ich denke, dass es vielleicht ein config problem auf meinem host-provider, da läuft es Prima hier zu Hause.
- wie kann ich meine servlet-version?
- in der Regel in web.xml
- Ich weiß nicht, wo man hinschauen soll in web.xml ich sehe eine version, die 3.0, aber ich weiß nicht, ob das ist es
- Hinzufügen
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
am Anfang Ihrer jsp. - Überprüfen Sie, ob Ihre Datei JSP-Erweiterung. EL ist fest in JSP und sollte immer erst deaktiviert werden.
- Ill versuchen die Dinge so schnell wie ich kann, und kommen zurück mit einer Antwort
- Ich denke, es könnte zu tun haben mit meinem web-host. Krank wahrscheinlich haben zu ändern, hosts, da Sie nicht Antwort auf meine tickets.
- Keine der Antworten gearbeitet, habe versucht, alle von Ihnen...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Geben Sie folgende Anweisung
Wenn Sie mit maven,dann fügen Sie die folgende Abhängigkeit
Anderes hinzufügen jstl.jar in Ihrem Projekt
Versuchen, starten Sie Ihren web.xml als
Sie zu sein scheinen, fehlen einige Richtlinien auf Ihrer web-Seite..
Müssen Sie möglicherweise nicht alle von diesen (je nachdem, was Sie wollen), aber Sie müssen sicherlich einige.
Weil ich lief einfach in diese und das war die erste Frage fand ich auf stack overflow mit meinem genauen Problem. Ich dachte, ich würde die Vergangenheit die Lösung, die für mich gearbeitet. Finden Sie auf dieser Seite.
https://www.mkyong.com/spring-mvc/modelandviews-model-value-is-not-displayed-in-jsp-via-el/
Grundsätzlich EL-tags werden ignoriert, über die JSTL, wenn Sie mit dem alten Stil JSP-Deklaration in der web.xml. Sie können ihn verlassen, und fügen Sie
jeder Seite, die Sie mit EL-tags in oder Sie können Sie aktualisieren, um den neuen Stil web.xml Erklärung, wo EL-tagging wird standardmäßig verwendet.
Ich hoffe, dies hilft jemand anderes. Vielen Dank an die mkyong.com Seite für die Lösung, die ich brauchte.