如何使用<c:out value =“...”> taglib </c:out>

时间:2010-06-12 14:04:00

标签: java jsp jstl

我有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或属性指令,属性值不接受任何表达式

如果我使用<c:out value = "${a.x}" />代替<jsp:getProperty property="x" name="a"/>,那就完美了。 那么,问题是什么? 谢谢提前。

1 个答案:

答案 0 :(得分:8)

您的taglib URI不正确,您正在使用旧的前表达式,JSP 2.0之前的库的URI。

而不是

<强> http://java.sun.com/jstl/core

应该是

<强> http://java.sun.com/jsp/jstl/core