Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PropertyNotFoundException while using jstl with boolean

Tags:

java

jsp

jstl

I have a FileBean with boolean variable renamed. It has following code.

public class FileBean {

    private boolean renamed;

    public boolean isRenamed() {
        return renamed;
    }

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

I have passed its object to jsp using request object (consider fileDetail is a request attribute name). My jsp contains below code.

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

Using this I am getting below run-time exception on 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)

Kindly suggest me the solution.

Thanks in advance.

like image 992
Ashvin Kanani Avatar asked Feb 28 '26 11:02

Ashvin Kanani


2 Answers

You need to use property name/field name. If it is boolean type, based on POJO conventions, jstl looks for isRenamed()

Example:

 <td>${fileDetail.renamed}</td>
like image 169
kosa Avatar answered Mar 02 '26 00:03

kosa


You're using the method name instead of the property name (dot notation).

Try ${fileDetail.renamed}

like image 36
MattR Avatar answered Mar 02 '26 01:03

MattR