set*_*thu 5 java jstl jsp-tags maven tomcat8
我一直在谷歌搜索一个答案,它不起作用.
我收到此错误:
org.apache.jasper.JasperException:/WEB-INF/pages/calendarEntry.jsp(第5行,第46列)根据标记文件中的TLD或属性指令,属性var不接受任何表达式
这是我的jsp文件
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<c:set var="eventDate" value="${calendarEntry.date}"/>
<h1 class="page-header">Calendar Event on <fmt:formatDate value="date" var="${eventDate}" /></h1>
Run Code Online (Sandbox Code Playgroud)
错误发生在最后一行.FMT
Web App声明
<web-app version="3.1"
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_1.xsd">
Run Code Online (Sandbox Code Playgroud)
Maven Depedencies
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
部署环境 - Tomcat 8
Kim*_*son 15
我有一个类似的问题,这个答案指向基本上尝试两个不同的taglib声明.也许试试这两个?
切换到你在jsp文件中声明的taglib解决了我的问题,具有讽刺意味.
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
Run Code Online (Sandbox Code Playgroud)
VS
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
Run Code Online (Sandbox Code Playgroud)
感谢大家的帮助。我意识到这是我的一个愚蠢的错误。
代替
<fmt:formatDate value="date" var="${eventDate}" />
Run Code Online (Sandbox Code Playgroud)
它应该是
<fmt:formatDate type="date" value="${calendarEntry.date}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10337 次 |
| 最近记录: |