2016-08-22 2 views
0

Ich versuche, JSTL für meine index.jsp Seite zu verwenden, aber aus irgendeinem Grund jedes Mal nach dem Packen Projekt zu .war und läuft mit Tomcat gibt es folgende Fehler:Korrekte Installation von JSTL für Maven (Intellij IDEA)

HTTP Status 500 - /index.jsp (line: 12, column: 0) Unterminated <c:if tag 

oder

HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.index_jsp 

Von dem, was ich auf google gefunden, gibt es 2 Möglichkeiten JSTL in Ihr Maven-Projekt zu installieren: 1) Fügen Sie diese auf pom.xml

2) Fügen Sie einige Gläser zu WEB-INF/lib hinzu, aber hier ist das Problem: kein solcher Ordner wurde automatisch erstellt und wenn ich es manuell mache, hilft es nicht. Projektstruktur sieht wie folgt aus: enter image description here

Der Code von index.jsp ist folgende:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<html> 
<head> 
<title><c:if> Tag Example</title> 
</head> 
<body> 
<c:set var="salary" scope="session" value="${2000*2}"/> 
<c:if test="${salary > 2000}"> 
    <p>My salary is: <c:out value="${salary}"/><p> 
</c:if> 
</body> 
</html> 

Also, was soll ich tun, um diese Arbeit zu machen? Ich kann keine Anleitung oder Information finden, die mir helfen könnte, dies zu lösen. Danke, dass Sie sich mein Problem angesehen haben!

Antwort

1

Genau das, was Compiler sagt Ihnen: Unterminated c: if-Tag:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<html> 
<head> 
<title><c:if> Tag Example</title> 
</head> 
<body> 
<c:set var="salary" scope="session" value="${2000*2}"/> 
<c:if test="${salary > 2000}"> 
    <p>My salary is: <c:out value="${salary}"/><p> 
</c:if> 
</body> 
</html> 

Blick auf Linie 4 Ihrer jsp:

<title><c:if> Tag Example</title> 

Es muss

sein
<title><c:if> Tag Example </c:if></title> 

EDIT: Wie es scheint, dass ich schlecht erklärt habe, habe ich in einer laufenden Web-App getestet, und dies w ay (das ist genau das, was ich versuche, zu erklären) funktioniert:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<html> 
<head> 
<title>&lt;c:if&gt; Tag Example</title> 
</head> 
<body> 
<c:set var="salary" scope="session" value="${2000*2}"/> 
<c:if test="${salary > 2000}"> 
    <p>My salary is: <c:out value="${salary}"/><p> 
</c:if> 
</body> 
</html> 
+0

Aber dieser von http://www.tutorialspoint.com/jsp/jstl_core_if_tag.htm genommen wird, und ich bin ziemlich sicher, dass es funktionieren soll . Wenn ich in der 4. Zeile entferne, zeigt die Seite nichts, also funktioniert das Tag offenbar nicht. –

+0

Sie Fehler behauptet über eine nicht geschlossene c: Wenn Tag, das ist nur, was ist in Zeile 4. Schließen Sie es richtig oder löschen Sie es, sonst wird es nicht funktionieren – jlumietu

+0

Ich löschte es und es funktioniert immer noch nicht richtig. Jetzt ist die Seite leer und gibt weder eine Fehlermeldung noch Informationen, die ich möchte. Wenn ich dieses Beispiel http://www.tutorialspoint.com/jsp/jstl_core_foreach_tag.htm verwende, zeigt es 'Item $ {i}' 5 mal anstelle von 'Item 1' etc –

Verwandte Themen