当前位置: 首页 > 知识库问答 >
问题:

JSTL1.2根据标记文件中的TLD或属性指令,属性var不接受任何表达式

郭弘方
2023-03-14

我一直在谷歌上搜索答案,但它不起作用。

我收到这个错误:

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>

错误发生在最后一行。fmt公司

Web应用声明

<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">

Maven从属关系

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

部署环境-Tomcat 8

共有3个答案

帅博远
2023-03-14

谢谢你帮助每个人。我意识到这是我这边一个愚蠢的错误...

而不是

<fmt:formatDate value="date" var="${eventDate}" />

应该是的

<fmt:formatDate type="date" value="${calendarEntry.date}"
巫马翰翮
2023-03-14
<fmt:formatDate value="date" var="${eventDate}" />

开关值和var。

<fmt:formatDate var="date" value="${eventDate}" />
轩辕奕
2023-03-14

我有一个类似的问题,这个答案指向基本上尝试两个不同的taglib声明。也许两个都试试?

使用fmt格式化日期:formatDate JSP

具有讽刺意味的是,切换到jsp文件中声明的taglib解决了我的问题。

  <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

vs

  <%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
 类似资料:
  • 我有以下索引页面: 还有家。jsp: 我收到了这个错误 根据标记文件中的TLD或属性指令,属性动词不接受任何表达式 有人能帮忙吗?

  • 问题内容: 我有一个项目,需要在HTML页面中显示电影的详细信息。尽管我没有使用像Spring或Struts这样的框架,但我必须严格遵循MVC。我也不允许使用scriptlet,但要使用JSTL和表达语言。我通常从数据库中检索数据,然后将其设置为Bean,然后列出这些Bean并将其传递给JSP,然后打印这些详细信息。但是,如果不允许我使用JSP,我将如何实现它。如果我使用servlet检索那些数据

  • 我用JSP编写了以下代码。 它显示错误:根据标记文件中的TLD或属性指令,属性名称不接受任何表达式 我应该怎么写,请给我一些建议。

  • 有人能帮忙解决以下问题吗。 我试图理解在jsp文件中的c:foreach元素中使用变量标记,所以我使用了下面的示例代码,但不知怎么的,这对我来说并不适用。 我已经把index1.jsp在WebContent文件夹中,并在Java资源/src/com/java2s文件夹中xport.java空标签;dis.tld在WebContent/WEB-INF/tld文件夹中。运行时,我得到错误: index

  • 我在tomcat中部署了一个阔叶应用程序,但在运行页面时,根据TLD,我得到的属性类对于标记形式无效。不过,当我在jetty中部署应用程序时,它运行良好。此外,当我部署应用程序时,我会收到以下警告:- 信息:TLD已跳过。URI:http://www.springframework.org/tags/form已定义信息:TLD已跳过。URI:http://www.springframework.o

  • 嵌套异常是com.fasterxml.jackson.databind.jsonMappingException:无法从START_OBJECT令牌反序列化java.lang.String实例