2016-08-22 159 views
0

我想为我的index.jsp页面使用JSTL,但由于某种原因,每次将项目打包到.war并运行Tomcat后,它都会给我提供以下错误:为Maven(Intellij IDEA)正确安装JSTL

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

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

从我对谷歌发现,有2种方式JSTL安装到您的Maven项目: 1)添加这pom.xml的

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>1.2</version> 
</dependency> 

2)添加一些jar到WEB-INF/lib中,但是这里有问题:没有这样的文件夹被自动创建,如果我手动执行它没有帮助。项目结构看起来像这样: enter image description here

的index.jsp的代码如下:

<%@ 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> 

所以,我应该怎么做才能让那些工作?我找不到任何可以帮助我解决问题的指南或信息。感谢您看看我的问题!

回答

1

究竟是什么编译器会告诉你:未终止的C:如果标签

<%@ 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> 

看看你的JSP的4行:

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

它必须是

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

编辑:好像我解释得很糟糕,我已经在运行的Web应用程序中测试过,并且这个w AY(这只是我试图解释)工作原理:

<%@ 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

但是这一次是从http://www.tutorialspoint.com/jsp/jstl_core_if_tag.htm采取和我敢肯定它应该工作。如果我在第4行删除,页面不显示任何内容,显然标签不起作用。 –

+0

您错误地声称关于一个未关闭的c:if标签,就是第4行中的内容。正确关闭它或删除它,否则它将不起作用 – jlumietu

+0

我确实删除了它,但它仍然无法正常工作。现在该页面只是空白,并且既不提供错误消息,也不提供我想要的信息。如果我使用这个示例http://www.tutorialspoint.com/jsp/jstl_core_foreach_tag.htm,它会显示Item $ {i} 5次而不是'Item 1'等 –