使用带有布尔值的jstl时的PropertyNotFoundException

时间:2012-12-29 06:23:04

标签: java jsp jstl

我有一个重命名了布尔变量的FileBean。它有以下代码。

public class FileBean {

    private boolean renamed;

    public boolean isRenamed() {
        return renamed;
    }

    public void setRenamed(boolean isRenamed) {
        this.renamed = isRenamed;
    }   
}

我已经使用请求对象将其对象传递给jsp(考虑fileDetail是请求属性名称)。我的jsp包含以下代码。

<tr>
  <td>${fileDetail.isRenamed}</td>
</tr>

使用这个我在jsp上得到了运行时异常。

org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: Property 'isRenamed' not found on type <mypackage>.FileBean  
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

请建议我解决方案。

提前致谢。

3 个答案:

答案 0 :(得分:9)

您需要使用属性名称/字段名称。如果它是布尔类型,则基于POJO约定,jstl查找isRenamed()

示例:

 <td>${fileDetail.renamed}</td>

答案 1 :(得分:2)

您正在使用方法名称而不是属性名称(点表示法)。

尝试${fileDetail.renamed}

答案 2 :(得分:2)

你试过这个吗???

${fileDetail.renamed}