EL不支持获取Java Bean

时间:2014-09-05 16:50:57

标签: java jsp javabeans el

基本上麻烦的是我无法在jsp页面中获取java bean的属性。我正在使用Java EE7 Recipes一书中的示例。我在JSP页面的主体中有下一个语句:

<body>
    <jsp:useBean id="dateBean" scope="application" class="business.DateBean" />
    <h2>The current date is: ${dateBean.currentDate}</h2>
</body>

NetBeans正在构建的错误部分是:

${dateBean.currentDate}

Java Bean Class I&#39; mssing如下:

package business;
import java.util.Date;

public class DateBean implements java.io.Serializable {

private Date currentDate = new Date();

public Date getCurrentDate() {
    return currentDate;
}

public void setCurrentDate(Date currentDate) {
    this.currentDate = currentDate;
}

}//DateBean

每当我尝试运行JSP时,我得到的错误如下:

PWC6038: "${dateBean.currentDate}" contains invalid expression(s): 
javax.el.ELException: Unable to find ExpressionFactory of type: 
org.apache.el.ExpressionFactoryImpl

进行一些研究我发现下面的标签可能丢失了,所以我添加了(在JSP页面中)但仍无法正常工作。

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

有人知道可能出现什么问题吗?非常感谢!!!

完整的jsp文件如下所示:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
</head>

<body>
    <jsp:useBean id="dateBean" scope="application" class="business.DateBean" />
    <h2>The current date is: ${dateBean.currentDate}</h2>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

使用scope =&#34; application&#34;,您需要这样做:

${applicationScope.dataBean.currentDate}.   

您可能不希望将该日期设置为应用程序范围,因此请删除scope =&#34; application&#34;来自这样的标签:

<jsp:useBean id="dateBean" class="business.DateBean" />

此外,您需要将您的类导入到JSP中,因此请将其放在顶部:

<%@ page import="business.DateBean" %>