java - 根据标记文件中的 TLD 或属性指令,属性项不接受任何表达式

标签 java jstl

我有一个项目需要在 HTML 页面中显示电影的详细信息。尽管我没有使用 Spring 或 Struts 之类的任何框架,但我必须严格遵循 MVC。我也不允许使用 scriptlet,而是使用 JSTL 和表达式语言。我通常从数据库中检索数据,然后将其设置为 bean,然后列出这些 bean 并将其传递给 JSP,然后打印这些详细信息。但是,如果我不允许使用 JSP,我将如何实现它。如果我使用 servlet 检索这些数据并将其设置为 bean,然后设置为列表并通过请求调度程序传递,我将如何从 HTML 页面中的列表中获取每个 bean?

我无法让这个 JSTL 工作。我正在使用 Netbeans 7.0 和 Apache Tomcat 7。

 <%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>DVD Guru</title>
        <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
    </head>
    <body>   
     <div id="wrapper">     
        <c:set var="testing" value="blah"/>
                <c:out value="${testing}"/>
        </div>      
    </body>
</html>

我收到以下错误

According to TLD or attribute directive in tag file, attribute items does not accept any expressions

我已经从项目属性中导入了 JSTL 1.1 库。 还应该做些什么吗?

最佳答案

您必须使用JSPJSTL - 只是一组自定义标签,不能单独使用。以及表达语言。如果你没有使用任何 MVC 框架,那么你需要自己做一些他们的工作。请查看(如果您还没有)以下设计模式:

  1. Front Controller, Command 用于简单应用
  2. Front ControllerView Helper 用于更复杂的应用

UPD:

要解决 EL 问题,请尝试将您的 JSP 中的 JSTL uri 更正为:

 <%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>

关于java - 根据标记文件中的 TLD 或属性指令,属性项不接受任何表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13428788/

相关文章:

java - Spring JSTL 日期格式为 DD-MM-YYYY

JSF 核心标签 <c :forEach/> value overflow while iterate

java - 如何在 jSTL 中迭代将映射作为字段的对象列表?

tomcat - 马文 : cannot find the tag library descriptor

java - 在子类的构造函数中抛出异常

java - TestNG异常: Cannot Instantiate class

java - 如何将具有内部对象的对象转换为 JSON

java - 访问 fragment 中声明的微调器

java - Eclipse 消息说 List 无法解析为类型

spring - tomcat 7 上缺少变量的 JSP 错误