当我尝试通过添加它来测试我的jstl lib(jstl-1.1.2.jar& standard-1.1.2.jar)时,它不会在浏览器中显示任何内容。
这是我的home.jspx:
<?xml version="1.0" encoding="utf-8"?>
<jsp:root
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns="http://www.w3.org/1999/xhtml"
version="2.1">
<jsp:directive.page contentType="text/html" pageEncoding="UTF-8" />
<jsp:output omit-xml-declaration="true" />
<jsp:output doctype-root-element="HTML"
doctype-system="about:legacy-compat" />
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>gdgdfgdg</title>
</head>
<body>
<h1>fsdf</h1>
<c:out value="Test"/>
</body>
</html>
</jsp:root>
添加了必要的罐子。无法弄清楚问题是什么。
编辑:
这是源代码,浏览器收到:
<!DOCTYPE HTML SYSTEM "about:legacy-compat">
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>
<title>gdgdfgdg</title>
</head>
<body>
<h1>fsdf</h1>
<c:out value="TEST"/>
</body>
</html>
我向maven添加了以下依赖项,它正如前面所描述的那样正确加载了正确的jar ..
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
答案 0 :(得分:0)
提供的jspx在我的环境中运行良好,Tomcat 6.0以及以下内容:
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jstl-impl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
根据Apache,1.1.2 taglib应该可以在Tomcat 5.0或更高版本上运行,但是由于你在jspx的头部包含了JSP 2.1版,你需要在Servlet规范2.5或更高版本的服务器上运行,例如Tomcat 6。
您最好的选择是使用我提供的依赖项,并确保您的servlet容器是最近的。
答案 1 :(得分:-2)
尝试使用这个简单的.jsp页面,如果有的话。测试页面使用随机fmt和c功能。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@
taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><%@
page contentType="text/html; charset=UTF-8" pageEncoding="ISO-8859-1"
import="java.util.*,
java.text.*
"
%><%
String var0 = "Foodoo0 " + System.currentTimeMillis();
pageContext.setAttribute("var1", "Foodoo1 " + System.currentTimeMillis());
pageContext.setAttribute("var2", "Foodoo2 " + System.currentTimeMillis());
double distance = 1234.567;
pageContext.setAttribute("distance", distance);
%><!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test page</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
var0=<%= var0 %> <br/>
var1=${var1} <br/>
<c:out value="COut Foo" /> <br/>
var2=<c:out value="${var2}" /> <br/>
<br/>
Use locale fi_FI<br/>
<fmt:setLocale value="fi_FI" scope="page" />
<c:set var="distanceEL" value="${distance}" />
fmt0=${distance} | ${distanceEL} <br/>
fmt1=<fmt:formatNumber pattern="0.0" value="${distance}" /> <br/>
fmt2=<fmt:formatNumber pattern="0.00" value="${distanceEL}" /> <br/>
fmt3=<%= new DecimalFormat("0.0").format(distance) %>
<br/>
Use locale en_US<br/>
<fmt:setLocale value="en_US" scope="page" />
<c:set var="distanceEL" value="${distance+3456.78}" />
fmt0=${distance} | ${distanceEL} <br/>
fmt1=<fmt:formatNumber pattern="0.0" value="${distance}" /> <br/>
fmt2=<fmt:formatNumber pattern="0.00" value="${distanceEL}" /> <br/>
fmt3=<%= new DecimalFormat("0.0").format(distance) %>
</body>
</html>
我在Tomcat6服务器中使用过这些库,但它们有点旧。无需更新,因为无论如何Tomcat6本身都是遗产。
这些是我在Tomcat7服务器中使用的文件,Tomcat7有lib / el-api.jar和lib / jasper-el.jar都没问题。无需更新它们。
从http://search.maven.org/#browse|707331597和http://search.maven.org/#browse|-1308691387链接下载新鲜的罐子。
确保在mywebapp / WEB-INF / web.xml文件中使用正确的webapp规范版本属性。 这是Tomcat6 webapp。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>
<description>My webapp</description>
<display-name>My webapp</display-name>
</web-app>
这是Tomcat7 webapp。
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
>
<description>My webapp</description>
<display-name>My webapp</display-name>
</web-app>