【问题标题】:How to use <c:out value=...> taglib如何使用 <c:out value=...> 标签库
【发布时间】:2010-06-12 14:03:59
【问题描述】:

我有 A 类:

package a;

public class A {
private int x = 9;

public int getX() {
    return x;
}
}

还有 ajsp.jsp 文件:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<jsp:useBean id = "a" class = "a.A" />
<c:out value = "${a.x}" />
</body>
</html>

当我运行它时,它给出了一个错误:

  • org.apache.jasper.JasperException: /ajsp.jsp(11,0) PWC6236: 根据标签文件中的 TLD 或属性指令,属性值不接受任何表达式

如果我使用&lt;jsp:getProperty property="x" name="a"/&gt; 而不是&lt;c:out value = "${a.x}" /&gt;,那就完美了。 那么,问题是什么? 提前致谢。

【问题讨论】:

  • 您使用的是哪个版本的 jstl taglib?

标签: java jsp jstl


【解决方案1】:

您的 taglib URI 不正确,您使用的是旧的 pre-expression、pre-JSP 2.0 库的 URI。

代替

http://java.sun.com/jstl/core

应该是

http://java.sun.com/jsp/jstl/core

【讨论】:

  • 作为提示,不要阅读 2006 年之前的 JSP/JSTL 书籍/教程;) 如果您正在阅读在线教程,请将 roseindia.net 放在忽略列表中。这个不错:courses.coreservlets.com/Course-Materials/csajsp2.html
  • 非常好。我刚刚犯了指定的错误...您的链接非常好。谢谢大家。
猜你喜欢
  • 2012-01-14
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多